{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# South Korea Qiskit Hackathon'20 - Qiskit Metal exercise\n",
    "\n",
    "## Preparation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*Make sure to have the right kernel selected!*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <h1 style=\"\n",
       "        background: #12c2e9;  /* fallback for old browsers */\n",
       "        background: -webkit-linear-gradient(to right, #d4418e 0%, #0652c5 74%);  /* Chrome 10-25, Safari 5.1-6 */\n",
       "        background: linear-gradient(315deg, #d4418e 0%, #0652c5 74%); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n",
       "        margin-top: 50px;\n",
       "        border-style: outset;\n",
       "        padding-top:100px;\n",
       "        padding-bottom:50px;\n",
       "        padding-left:25px;\n",
       "        color: white;\n",
       "    \"> Welcome to Qiskit Metal! <h1>\n",
       "        "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import qiskit_metal as metal\n",
    "from qiskit_metal import designs, draw\n",
    "from qiskit_metal import MetalGUI, Dict, open_docs\n",
    "\n",
    "%metal_heading Welcome to Qiskit Metal!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Welcome to Qiskit Metal! \n",
    "\n",
    "For this example tutorial, we will attempt to create a simple two qubit chip. We will want to generate the layout, simulate/analyze and tune the chip to hit the parameters we are wanting, finally rendering to a GDS file.\n",
    "\n",
    "One could generate subsections of the layout and tune individual components first, but in this case we will create all of the layout. We will want a transmon (in this case choosing ones with charge lines), meandered and simple transmission lines, capacitor couplers, and launchers for wirebond connections. So we will import these, and also create a design instance and launch the GUI."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Design the layout"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit_metal.qlibrary.qubits.transmon_pocket_cl import TransmonPocketCL\n",
    "\n",
    "from qiskit_metal.qlibrary.tlines.meandered import RouteMeander\n",
    "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder\n",
    "\n",
    "from qiskit_metal.qlibrary.lumped.cap_3_interdigital import Cap3Interdigital\n",
    "from qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "design = metal.designs.DesignPlanar()\n",
    "gui = metal.MetalGUI(design)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since we are likely to be making many changes while tuning and modifying our design, we will enable overwriting. We can also check all of the chip properties to see if we want to change the size or any other parameter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'material': 'silicon',\n",
       " 'layer_start': '0',\n",
       " 'layer_end': '2048',\n",
       " 'size': {'center_x': '0.0mm',\n",
       "  'center_y': '0.0mm',\n",
       "  'center_z': '0.0mm',\n",
       "  'size_x': '9mm',\n",
       "  'size_y': '6mm',\n",
       "  'size_z': '-750um',\n",
       "  'sample_holder_top': '890um',\n",
       "  'sample_holder_bottom': '1650um'}}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "design.overwrite_enabled = True\n",
    "design.chips.main"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will add the two qubits. We know we will want each qubit to have two connection pads, one for readout, and another for the connection to the other qubit. We can see any options the qubit qcomponent has to figure out what we might want to modify when creating the component. This will include the components default options (which the component designer included) as well as renderer options (which are added based on what renderers are present in Metal)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'pos_x': '0um',\n",
       " 'pos_y': '0um',\n",
       " 'connection_pads': {},\n",
       " '_default_connection_pads': {'pad_gap': '15um',\n",
       "  'pad_width': '125um',\n",
       "  'pad_height': '30um',\n",
       "  'pad_cpw_shift': '5um',\n",
       "  'pad_cpw_extent': '25um',\n",
       "  'cpw_width': 'cpw_width',\n",
       "  'cpw_gap': 'cpw_gap',\n",
       "  'cpw_extend': '100um',\n",
       "  'pocket_extent': '5um',\n",
       "  'pocket_rise': '65um',\n",
       "  'loc_W': '+1',\n",
       "  'loc_H': '+1'},\n",
       " 'chip': 'main',\n",
       " 'pad_gap': '30um',\n",
       " 'inductor_width': '20um',\n",
       " 'pad_width': '455um',\n",
       " 'pad_height': '90um',\n",
       " 'pocket_width': '650um',\n",
       " 'pocket_height': '650um',\n",
       " 'orientation': '0',\n",
       " 'make_CL': True,\n",
       " 'cl_gap': '6um',\n",
       " 'cl_width': '10um',\n",
       " 'cl_length': '20um',\n",
       " 'cl_ground_gap': '6um',\n",
       " 'cl_pocket_edge': '0',\n",
       " 'cl_off_center': '50um',\n",
       " 'hfss_wire_bonds': False,\n",
       " 'q3d_wire_bonds': False,\n",
       " 'hfss_inductance': '10nH',\n",
       " 'hfss_capacitance': 0,\n",
       " 'hfss_resistance': 0,\n",
       " 'hfss_mesh_kw_jj': 7e-06,\n",
       " 'q3d_inductance': '10nH',\n",
       " 'q3d_capacitance': 0,\n",
       " 'q3d_resistance': 0,\n",
       " 'q3d_mesh_kw_jj': 7e-06,\n",
       " 'gds_cell_name': 'my_other_junction'}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TransmonPocketCL.get_template_options(design)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will then add those two qubits with the options we are wanting to define, these can all be modified easily later too.\n",
    "The rebuild command is included so the changes can be seen immediately in the GUI."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "options =  dict(\n",
    "    pad_width = '425 um', \n",
    "    pocket_height = '650um',\n",
    "    cl_pocket_edge = '180',\n",
    "    connection_pads=dict(\n",
    "        readout = dict(loc_W=+1, loc_H=+1),\n",
    "        bus = dict(loc_W=-1, loc_H=-1, )\n",
    "    ))\n",
    "        \n",
    "Q1 = TransmonPocketCL(design,'Q1', options = dict(\n",
    "        pos_x='0.7mm', \n",
    "        pos_y='0mm', \n",
    "        gds_cell_name ='FakeJunction_01',\n",
    "        hfss_inductance ='14nH',\n",
    "        **options))\n",
    "\n",
    "Q2 = TransmonPocketCL(design,'Q2', options = dict(\n",
    "        pos_x='-0.7mm', \n",
    "        pos_y='0mm', \n",
    "        gds_cell_name ='FakeJunction_02',\n",
    "        hfss_inductance ='12nH',\n",
    "        orientation = '180',\n",
    "        **options))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will next connect the two transmons together to form a bus using RoutePathfinder, an auto drawing CPW transmission line. We simply have to give the start and end location using the component pins of what we are trying to connect to.\n",
    "We can use the GUI to confirm the pin names we want to give as inputs.\n",
    "\n",
    "Pins also play an important role with rendering and simulations, as any unconnected pin can be defined as a short, open, or driven terminal."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "bus_Q1_Q2 = RoutePathfinder(design, 'Bus_Q1_Q2', options = dict(\n",
    "                                            fillet='99um',\n",
    "                                            lead=dict(end_straight='250um'),\n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Q1',\n",
    "                                                    pin='bus'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Q2',\n",
    "                                                    pin='bus')\n",
    "                                            )))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Then the readout structures can be added, being the capacitor couplers and meandered transmission lines to form the readout resonators. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "cap_Q1 = Cap3Interdigital(design, 'Cap_Q1', options= dict(pos_x='2.5mm', pos_y='0.25mm', orientation='90', finger_length = '40um'))\n",
    "cap_Q2 = Cap3Interdigital(design, 'Cap_Q2', options= dict(pos_x='-2.5mm', pos_y='-0.25mm', orientation='-90', finger_length = '40um'))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "readout_Q1 = RouteMeander(design,'Readout_Q1', options = dict( \n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Q1',\n",
    "                                                    pin='readout'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Cap_Q1',\n",
    "                                                    pin='a')\n",
    "                                            ),\n",
    "                                            lead=Dict(\n",
    "                                                start_straight='0.325mm',\n",
    "                                                end_straight = '125um'#put jogs here\n",
    "                                            ),\n",
    "                                            meander=Dict(\n",
    "                                                asymmetry = '-50um'),\n",
    "                                            fillet = \"99um\",\n",
    "                                            total_length = '5mm'))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "readout_Q2 = RouteMeander(design,'Readout_Q2', options = dict( \n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Q2',\n",
    "                                                    pin='readout'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Cap_Q2',\n",
    "                                                    pin='a')\n",
    "                                            ),\n",
    "                                            lead=Dict(\n",
    "                                                start_straight='0.325mm',\n",
    "                                                end_straight = '125um'#put jogs here\n",
    "                                            ),\n",
    "                                            meander=Dict(\n",
    "                                                asymmetry = '-50um'),\n",
    "                                            fillet = \"99um\",\n",
    "                                            total_length = '6mm'))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the launchers and short transmission lines to connect them to the capacitors and the charge lines."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "launch_Q1_read = LaunchpadWirebond(design, 'Launch_Q1_Read', options = dict(pos_x = '3.5mm', orientation = '180'))\n",
    "launch_Q2_read = LaunchpadWirebond(design, 'Launch_Q2_Read', options = dict(pos_x = '-3.5mm', orientation = '0'))\n",
    "\n",
    "launch_Q1_cl = LaunchpadWirebond(design, 'Launch_Q1_CL', options = dict(pos_x = '1.35mm', pos_y = '-2.5mm', orientation = '90'))\n",
    "launch_Q2_cl = LaunchpadWirebond(design, 'Launch_Q2_CL', options = dict(pos_x = '-1.35mm', pos_y = '2.5mm', orientation = '-90'))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "tl_Q1 = RoutePathfinder(design, 'TL_Q1', options = dict(\n",
    "                                            fillet='99um',\n",
    "                                            lead=dict(end_straight='150um'),\n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Launch_Q1_Read',\n",
    "                                                    pin='tie'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Cap_Q1',\n",
    "                                                    pin='b')\n",
    "                                            )))\n",
    "\n",
    "tl_Q2 = RoutePathfinder(design, 'TL_Q2', options = dict(\n",
    "                                            fillet='99um',\n",
    "                                            lead=dict(end_straight='150um'),\n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Launch_Q2_Read',\n",
    "                                                    pin='tie'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Cap_Q2',\n",
    "                                                    pin='b')\n",
    "                                            )))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "tl_Q1_cl = RoutePathfinder(design, 'TL_Q1_CL', options = dict(\n",
    "                                            fillet='99um',\n",
    "                                            lead=dict(end_straight='150um'),\n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Launch_Q1_CL',\n",
    "                                                    pin='tie'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Q1',\n",
    "                                                    pin='Charge_Line')\n",
    "                                            )))\n",
    "\n",
    "tl_Q2_cl = RoutePathfinder(design, 'TL_Q2_CL', options = dict(\n",
    "                                            fillet='99um',\n",
    "                                            lead=dict(end_straight='150um'),\n",
    "                                            pin_inputs=Dict(\n",
    "                                                start_pin=Dict(\n",
    "                                                    component='Launch_Q2_CL',\n",
    "                                                    pin='tie'),\n",
    "                                                end_pin=Dict(\n",
    "                                                    component='Q2',\n",
    "                                                    pin='Charge_Line')\n",
    "                                            )))\n",
    "\n",
    "gui.rebuild()\n",
    "gui.autoscale()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "tags": [
     "nbsphinx-thumbnail"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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cOzYseeff97zvJtuuumee+6Bde42OX369De/+U2Msa7r11xzTaeHs5lNT09/73vfGxsbKxQKO3bsaHbwAW0lSRJj7K//+q8/85nPQPi4TPBpu2mFYfjYY489/fTTzzzzzFo1UgdX4jjOqVOn9u7de+utt379619/4oknOj2izens2bN/+Id/ODw83NPT85WvfGVmZqbTI9rMJiYmGo3Ghz/84TAMv/zlL1+2bTJYW4yxt95662tf+9qzzz5rmmanh7NhbJhZGbBS77zzzrFjxx544IEXX3yx02PZ/FKp1Oc+9zn+98jIyJtvvnnfffd1dkibD2PsxIkT2Wz2F37hFyRJOnbs2EsvvXT//fd3elyb1uHDhw8fPowQuu666x566KFKpcLbW4L2mZmZ+fu///uHHnro0Ucf7fRYNhIIZTY8z/Pq9fr83ZiyLCuK8o1vfONjH/sYL00B1lAURfV6PQiC+WfmcjlRFBljMzMzx44d++Vf/uUOjW6Tm52d7e3t5Yt3/f3909PTnR7R5heG4Xe+851rrrmmUCh0eiybHKX00Ucf3bt3L2Q6rhSEMhveO++885d/+Zfz534PHDhQLBbffvvt3bt3nzp16vTp0y+99NLRo0c7OMjNpF6v/8Vf/MWpU6fmn/lHf/RHQ0NDk5OTX/3qV2+//fY777yzQ6Pb5AghzW0dlFJISFoHjz766DPPPPOVr3xFkqROj2WTO3/+/Ne//vVf+qVfevzxx8+cOfPEE098/vOfhzzR5YBQZsM7cODAn//5n8+flREE4fTp02EYBkEQhiGlFHJl1lA6nf7d3/3dBT38NE0zTfOrX/3q0NDQQw89xEuAdGqEm1h3d/ePf/zjKIoIIefOnbvppps6PaLNjDH29NNPP/74478LlpTCAAAgAElEQVT/+7/f19cHr+p203X9c5/7HGOM78eGz+3lg1BmwxNFcXElpYMHDx48eBAh9IMf/MDzvA984AOdGNrmRAhZnDHQaDT+4A/+YGRk5NChQ48++uju3buhcMCawxjfdNNN3/72t//kT/7E8zzDMO64445OD2oze/7553/rt37rV3/1V1999dXTp0/feeeduVyu04PazIrF4q/92q8hhEZGRk6fPv3JT34SYsdlglBmk9u3b59hGLATu90EQbj//vubpajhA6hNCoXCf/kv/+Wll14ihNxyyy2GYXR6RJvZ0NDQl770pU6PYivq7u7+/Oc/n81mOz2QDQNCmU2ur6+vr6+v06PY/HRdv+uuuzo9ii2hr6/vwQcf7PQotoTt27dv376906PYilKpFEylrwgkzQEAAABgA4NQBgAAAAAbGIQyAIA4mpmZae67ZozVajXXdZd52yiKarXaSjeANBtQr2ygAIBOg1AGABBHhmFgjM+ePWvbNkJIUZTFO/WuxLbtubm5lSZfU0rL5fKC4ocAgPiDtF8AwBpjjDUaDUmSZFmu1WqZTIbXsnNd13GcIAgIIblcjhDSaDQsy1JVNZVKUUorlUoURYZhJJNJ13UJIXNzc4yxfD6PMcYY85s4jmMYRiKRsCwriiLXdWVZnr/do1qtJhIJQki9Xo+iyPO8VCrleZ7v+7lcDmNcr9cRQkEQpNNp0zQJIel0WpZljLHjOLDjD4CNBWZlAABrz/O8CxcuVKvV2dnZ5pmWZY2OjoZhWCqVSqWS7/tnz55ljE1PT1er1UqlUq1WMca+7yOEzp07x2uyiaJICJmdnbUsq1arTU5OUkrHx8c9z5ubmzt//jxjbHx8fP7yk2VZmqZRSi9evDg7O+t53rvvvmtZVr1en5mZCYJgbGzMtu1qtXrmzBnf96enp+v1OsZYkiRomgjAhgOhDABgjWGMu7q6MMZnzpzp7++fv9CTSCR6e3uHh4dnZmZKpVImk+np6SkWi3z2hTEmCEIikeBXVhRFVdVsNqvrOkKIMVatVru6unp7exOJRLVaRQjl8/nu7u5kMjm/jXAYhoIgIIQEQSgWi8ViEWPc09PT3d3daDQQQpIk9ff39/X1RVHU29ubyWQsy+KzPlBiFYANB0IZAMDaY4xFUcRbbM4/n68TNa+DL0EI5XK5rq4u27bHx8dbxxPzDyIIAg9BmjnCCCFZlnnKCyGEEIIx5pENxpiPh5/Jz+d/8EAqiiJYXQJgw4FQBgCwxniHcEmSBgYGJiYm5kczpmmWSqWJiYlcLpfP56vVarlcnp2d5TkrjDFd18MwbN5EluV6vc4bvGOMk8nk3NxcqVRqNBqpVOpKA0ilUvMnaZaJUhoEweKuFACAmIO0XwDAGmOMSZLU19cny3IURfNbWCcSCc/zdF0vFouCIPT39zcajWw2m8vlbNvmCSuDg4P85hjj7u7uubk513Wz2ayqqjwz17Ksvr4+TdPS6TTf1pTJZObvb0qlUtPT01EU5fN5RVH4MhMhRFGUQqEgimJ3dzdCSJblQqHAR0Up9TwPYwyhDAAbDoQyAIA1RgjJ5/P8bx40NImi2N/f3zyZzWabO48SiUQzSwYh1NPTs/hMhFA+n28ePJ1OL/iD0zStv79fFMXmwbu6uhBCsizzP4rF4vyT/C6iKOrv7+dLUQCADQRCGQDAOlFVdUHM0SYY41WkvAiCAHEMABsRhDIAgHViGAb0sgYArLm1D2VmSqV//9Z31/ywAAAAAAALTE7P4Os/9PE1PGKlVNJ0vVIqreExAQAAAAAuK9vVtfazMrKq9gwOrvlhAQAAAAAWW/tQBiO00i5uAAAAAACrAyXyAAAAALCBrf2sTBiGrm2v+WEBAAAAABbQDGPtQxkaRbZlrflhAQAAAAAWkBWlDWm/itI9r5onAAAAAED7QK4MAAAAADYwCGUAAAAAsIHFMZTReq/79F0HUoM3/t4v37+nqPRuP3RwZ3YNjtt/+CP7f9b/Zc+td+xKXOmqpH/vLZ+4eWAN7hQAAAAA7bReoUzXrt/73MdUaRl3Jxbu+9h1Z165+P57t3//W6++79ChYs9gXz7X25eVrnIM6f693WrzVHF4Z9cV+83RidOjaPeNe/SrvEsAAAAAtJfQu333Gh7OtW1V0y5TIs/o+tD+4kuvnw4p23HzRx76yK1dwcWSPPip+z72wcPbWGVmsua+d83C7nuKc98dVz59z+05wauXp+dQrndg8MEH7x3EljB46NN33ZD3y+7grb9413V04syUHRmpnXcc6StdnPXp5UclSgP/4Vfuv/PgfmnqZKP3xgeOXm94ZW3HbXcd3rFrOFlpSAMp0RaNA0PdpP/gf77vjkN7++ZGT5wSD97Tdfa1iWANnx8AAAAArK11X2DKX3f/YeH7j7/S97FPfPbmQ9Nv/+iN86zYk2rGPul81pore5X61Ozoiy+f798xJIrEmSmdu/jOcxfUD24TXx2p3fL+Q9uGBitjb56uBgghx5oqsaEv/m+/+YlDRV0WbvnUr/3XL/3Of/3S73zp4Q/ldAEhdN1HPi6c+M43f3QqMzhw41B69EJ1/3XvSwnVHz35nRHlxvtv79tZzGrp7O6hI/ffU/zx49+ZUAZ7NWRNTGu9vev9/AAAAABgJdZ+M/YS1EQibFyYmbFxske0qnOzPna0eUtHfhCIksRCx/PtStUMGEIIUS9wPHPODFNdvXuCyrnpi4KbmZmaskOGEKKRdXZ05GROKW7f3zV+rDJ17pSoI4S8UimIGEJI1kh1ujSVsIgo5XsGZAHVpkcdfahSKtVrgZoVDUNElRAhUWGNyZmS5oQIIaQoyPPW+/kBAAAAwEqsVyhDIzO99//6vV2N82++QXd8+Uu3TZ584vuz2+777K8XVPT8Y6fZpSs6pRK+vlvGVcf2IkZtxwt87AXjM+EDv3rHybdno2uHh1DDHX3L8aP3bpTMXffgvdvePPbqC2PnKi7KSid/UhIRQpFTc0OGEBp548z/+b/8zm04M/X8P76bG7z1miEXz51Wcv/xf/0db+7sf/vOzIP33fO7R6WZV350au7Q//Gl35Wz5B+/T/qGumbGJ9fp+QEAAADAquDrP/TxNTxcpVTK5HKYLGfdihQG9xze39eXzb7+o+++et5sXrD36H882Pjhvx+/6La4dXvsOHj7/u7M8DB9+lvTd9yT/Ie/fa6+7mMAAAAAwPKtV9rv5Uiyqkrs4tnTI+fLAfvZ+dWZaYeGlZpzhSzeNlKMpEit06+/Oe6602fPTpn+ug8BAAAAACvQwVkZAAAAAICrBTEHAAAAADawtU/79TyvUa2qui4rypofHAAAAACAMRaFoWNZiXR67UMZjLGmG77vmbXamh8cAAAAAABjLMkyT89d+7RfzTB813Us672zErZTpCL16/tNySVB1sMUBz0Oqcu0aIciFTzibzdRXQwHbeYKJLrMmhfLNWo3TLm9gVBTou4GDRTaV6WhRvur1JGxEoa9VogxURynLyTINW+cdPo8oSx5+xxhhnhDvtAg1AjCghsYoWBKrGB6KhYd5B6eqO2dc7dVcT0tOvOylRO2U6BSQ0S5am1nKNdDa2cgl6VwqBr6Kokc5zpPmJH9fbOsbkQ7qqwiM43ikLx3CMU2b6x6A6ZfaLBAF3wUDNWRpaKU6fS7JMJhzvJ32HhaCa6bCLHiDjvSrBTsrfmaE+xsWLsbgeEJpkpCfjxGlTAyPHfAISEJeyzmS1FfjfoqHawyW0ZKGAyaUSBgw3a6qVT7WaEef+d07WApMEQp9J1iJIY0SEc4ZJERhH21kOmiT/0+kzEJKU7jpglrZ9UphHJJJbrtdCGpIazhywMAAABYK1EUiZKkGcbaz8oQjBmbtx8pICzTsHJBmJAQjvzBitdPIllMuMzZWacBoWe7JI/a+8qIKcYkYbrr9gbKaPJnEY0QusMNYSIv6aa9vSFTLyi6NOPIXkLUXGevQyRdHSfhYNUXmDCXRiQSKjqREFUwRq59rYOoJBTC+pHxwJDkUznRo+7OShDJiGSIqcl+hJEoWgseBqW8Y5RIw6xp72XMSge9VWdbjWaYMaoi1bKutQmWVIpC3bEPuojqiROXyhZ7CkpOsnKSJQTBpt6OmttnE50onucniRSadleoBMi5tsSyHgoDEXnWtQ7TBKUkO70V4WwSyQLxcJQ23TzWx7Rgz2Rlfx3bBvZ6UNp2C87/z957PslxXIm+J235tmMwBo4gQAAEnUiKcrvSixv3Rdx4//F7H65Wu1e7q6XoRdCBhBs/bcumPe/DYDADcEACEmG0ql9MTHR0Z2WezKqOPH3yGN9tgiqhcd1cqShLwy2izk0UR7bXOzYND57LvQiFQyVhvSgzhDqG/nzyixGdJdHHCemW9emK1Dr6JuWziAKQIiSOAPVeILS0tLS0tLyoICKl9KlEMM2n06q4nycGXa82C1W5SPrv93yivECwnCtiEwMItIy48bqnaS1ZyUFYm3g+lUcWEuJtRyFyitZxxhS6xAJQmktKrU0szSOu0Pa0J4TPAxDappZYzqYBRMomFpDyuXSJQkqJoUyDzQwgoVXAFNqBQqB8HFJ3zCqTlbPXx/LrlZBN50MZ7go+DUBqFznwjM0lCbSNHM0j3lCfNDb2dB5QRLhnRiEYadScMEJL4nracw+OM4VOUq7RSuA1cZlBIKSRTHubGdJIXlPX0aQUwAitKQbGRcCnAmNtI0c8oY0k1NrYAlA2l4QbGzs2j5hB21WeUJ4LoIcqiCeYKCeQVKEoiesqJz0YwRuwmSGGE80INy7wgJSPQ4i0jSwxgjWkubZp50udr6Of8PFoaWlpaWn5CYmSpDccPgNVBtzSNL9QyduDaCN8rIQzLw7MNBfHOqDxl4v8xxL2IdfVG7vmoNq2jrOP+sw9h+liVBVvjh0AANBpJ/0qo89DjJaWlpaWlqfNgSrzLAoXsN1eb7f34+1eQJwIv1gOH68tsTL58/rTledxxKjj7N/j5y1FS0tLS0vLM+J55pXB0DpxYD5werUwqT3ZNYN6s1A063M1bPwPyYuu0zyyEwAA7zLzxN4fzKrVwsbu6bmNYKD1Uo2AAADUm2GhBk8hyzB1ZrHQvSdfAUAvrQtOWoFA66F+8iU1aqW04SOSOVNnFgrVM0/aKwAAeNerbez+qmsfF2TODGvPTp43BlotF04+VRFaWlpaWo54rqoMxYPx3am5XmiaMyWKk7Y3gm6t0Fmj1wub/NAuhd1aL/6QEoD8yfdx4l2/1sMn1i1c1Ji+ffhdZvWSQvqAGEidOl8czhxRqubc45afssuFe1zLGmKg1Zn6oSXAuNb9H9v7CZ78pFCvz+dPXF8irJt1/dAiHBsLUDaPvwIPXesHlf7+sv+0EKdXSv9IVQz98kxnT1eElpaWlpb7PP0DJmbqa3t1x5LI8/2YTBKeTo3pxN+y8jcj/tFivEtsj4Sf9925wjGEpCheVsn7w6MgYMd4HnhFIQJKfP3W3fzlkt1eybZN/kpNtad7S9mWz69MfEDFzcCc3569M4Zpv/cvi/bKdtMD4ljy0dBe2FM060ykev12tYxEQXBjNaD57ELBAGF3Ifs8Odivfdzkv/22iUnyp4vJHRlsJCYBIF5d3p5fndG9QbznqnNWTrmlGH/Vq39+V8Us/tMKG4zVgvNKJNeH7uJm3QU+6mV/GhzOBe1gXrw7gSIIv1oMprZ8b89i3P2Xoah9/ttb3sSdPy/IrdQMDQBgVE3/75taiuxfzke23P+nbXBJ5/enguLwrnXz2TvbUIvgm5V4ZstXR4by+IvFcP9eMLZbGc2vlsR6rDvd9wdiI3OdGgDcMC+vjJwP47/03ZXdsu/ZpNP7j+GhuuKqX97RJgtzV67Yzmed8rWJ/HIxJCZ/e8sJAnWcftHVF3dVxsQ4QNkU7+zqkAXfpPbyiN4a0u5M+07v/S6Bk910+CgVrJn8z13IBQ0RFffCMuF82en+qS83UzN4WLuy63vzS5ppI24tw+p2flrJGyvJvMovato4vrGazNT8lRkIKr5K1OWN+WszsrvY+2NfvblpYkqUjL+Oy3c2VcySD1bDsi4vVyCBfzOMb0f3pOS6fnNbCYmEJV8H5c/vai6yD9f8+lgHBqRMf7+EL42qRYUuDgI9/8Wduu+ij89nd33+i11vBJll2aedYBSqv/Fb09LS0tLy2DyVcpKqaYw+NGNktaZJ50akU5bcTDCwcivDyPG9VNQMNOU1911DpsL3LMslK8JgM37IBOD7pRooLymfBGZ9xjZ7MudiM4KOzP7Y98sWhOV3BkEOXlAY5DDuypFkdSj2me+I9P1FrpjYiXDB8t2AKEJNFl+P/dD71Md/WiDDmt/sC3VvR/O9uerx8HbGGs7mAkLjJeENUesVHaViJuXdCLqUlEG4LfxKbXUYboRUBbIUdLcbbwfIqNgKxXQQjryngumDngk1FF2UfNkhgYHEWEYg9uK7BM/O+cenI1DGhaLxZsnLXYnL0zoIozsR1ZLnDCyjlovdiJnD5VEBJxB+ukh72nUN/3aQTIjqgRzfU2VoIfFUHbx/WnSnfp4x6+2i5XuBX5uTjVPxJjGrGNySbLqQjIwjEbt30ygIbZasDY2oEvldR845UMonHBMaXh9yQ0jUWNvtfhTpc4a5xk+Xul+L5pwVOfMLtZUk2MjETJysyEhlUiF3QprVpIn5RsINoTGJ/rjCFmvciRg6s4Ry94FDGjoP/FITfrwqG1Qrpdjs8ELIuxFmQfbHrlu1Pnbh9QXhrSfM90uy35ETwcqQzwnyKPloAMPcCBZsRbQJ5ChwfR98shTtH4uV80w4q1ja+aCHg9xEMtyMaRFKbent1SR3NiROsvR633c0LdEso7zZ4TXn44QGCraH6Y2YAmCndjYW9V/9NWppaWlpeSyElGEcP31VxlC/vp+/MjUBj+8G6qVRdS43MRFU5a+M9anS2zgs7PztfVRRsBdgt8yv5fy4NiNMfW7mIIk3ab1sgzHVq5UHygKjeg3lqJZzsZ80L+01K5VNSPhdbFcKJ1HkQl0ZqX6tYxaUvnhzp1kqTELIYKoFJ725SjGYkvmbu2pRi1tHqgxxzPdz3dekjIUoZ6/v6+XCmyTMvTpVWkFZUuvEEoHgwKNgstZdTVQEvZkOBOlOmw6TM1pf3dGJCO7E1B9ulx7c2qR4qaCzlHbmxUuK1s5H1PXKZm2mIh7v8er1rWapNAmK7S4sTHTXkDzjsqxOF57wYDNh9mht3OIsvzom0164TZtre9WiC293eHO/gVcXR9X6zNo0mvnizR21VNqIBbuyubzdLGJ4o8eUq9/ermMe30rI/TMfb9WaibYlTDs8nM9fH+nlwnPpF0fOR35t1+oOzcbFy7mTXmx28dxO8ZIOvugy3qgoiLcFGyWM6vLNPSxirh5UTaXSQ+BOFWdLIIiMYFq7nm5WZ85G4YyUb203S6WNCB+H9N4xjlVX9qvlSg+t2IwpN+pUjZ7TpFaZZYFuFhq5F1aX99Ri7SQPN6RZKR2joqD1tbHuVVaI6HbkTpW6p0iVkN6sWi/soKF5wrytfrbjy5AKXVwZ60HpJAv2Ij8odNcyJexi6Rj1vdwIKWxTXJ7YbkOKDvdaDxWYkEOdX5zZYQlVyht0w9KrpFVlWlpaWp42B6rMswjG9r2iOlcYEvY+6hJ8sQKDkejm8lQtuOT9U6J+sWT72/G9ef5GHnyyFEweYSB5LsimeKWQt/pyfnDyhq6b52/l4SfL4fjYiSczzbncSgcARMvgboerF2gSj8JnVX26kDeXRPW8RWlpaWn5786zC8YmSojNLCwCeMH0GAAAYHwU0x3J/zv+hiZNEH3OafOC1T/XYfrpAxHuRIXxXxhpHnw8kPJpSJgHAOI4fbphST8ZNI+Tz9tg+JaWlpafBkJIlKQyDA52CGttU1VHJz8A8CzcfgFIHQT1C1olmyATu+nzluJpQZpA/lWRQM8WQhspm++FL3vGR/GzeEBbWlpaWl5ICKGdfq+pqul+fvAOFyLJ0qqA49rM8/y97vuNSQ9E0cWvN8q1h+OE7+OWJ7P3NtSPxgw/5rhJlf9qox7+YOaSqMl/tlEvHh8R7epk/t6OeXKtDKk3pwp3QmVG07y2rTpP3OFPiF3fn/5s30YPhBajsNXrG+XpNhCnpaWlpeW5EUShbpRqjn6UW2OK2TyMHzB+P323X0DXq3VX+VS7wHsKkNZOUGq9HWhaSOqIvjylN/s4bGghCbVmYEjFjx82kDIgHe8dsoraoSbodV9ThOqNHRMAcYxZNAuVyexBUSGzVNnIE8tJoNRig9KDptirdV+DY7SS3KFDISqGoVZLlQ2BVeyByOG4sSSNtpgb1DaxpqdACTaNWNT4MuYGXbfWwwa9oNRU7+xYBEDO9D3VEEOlB4oY5oa1JxTjBlGwivlOY/rKZho8A2r1ckO5dSblqNRS7RmBUJnUUYtmUYFiR/7CwqilyoVIDdq+IcTrrqaI1Vs7RgBxnFk0i5VJLVWM+KOJuE6lh8oLoDX1BzciAGrRLpY28bQWNA+ocEQHTKHr1WagECltmNBgQi5nrVmkpaWlpeX5EEaR0dq7BwwZiJikaVNVcOj2+/Q3qlCptRrBVis6up15zQVqEzh6I7SrFdGc70kPgs85DCgCAvM+etj6QpK6XplDGvM5M+tzuNsxp2fkTt8HDmPt88AlSvcVMu9CEjT1/J83XNHr/esyni9sBXqdJB9IHxq7ZDwj0d340GvHm0vbkzdm0ISD/+9CMH3IVwMIgF+c5css2AeTsOzr6MBtGYlpLhU4ZW5gyJ3YSweJZvVR5UVMqvLNUuwGvlfQmyuhMXqhofMBDot6XfNZ4ANPE2U1waWazU3zUuEN2hVNdaN7VCniYhd/eIrNDntk3iXKZoa50KxXsBmb9Zzc6brAkkT7eWhXap1pFN4LGt898kQxF3cmVyv59Wr/s6A5XYH3BjyvIh9pOyihiYKcHOQZxkgV796tTml+a2nw7wvMv4COTS0tLS0t/0A8ZlrbZ5Aiz6OWomAmEXJfNqulz7mPHEigc+bSxuaSV8T2a8+AIwHL+Iw8sIsSr9dr8dWQp8r0LW2IiR1hzlsejEI75/Z8CbuUlpISaxnSPM7+7axPNXDvPZdjiTMCnap4bUdnNDQiDLTtKGeJLUIkUfd/9ygQXp60c3smxyELmZw61fU+USbVvtdwi4BcjEO3VkIdymngC67PlGLSPTDL0HEm/cxLgS4IdgUJPSG57RmuAr4twxlTfeVD4NsxZpWLDDAit0ObNHQvo6tjqCI6i3hJfaBdSPiMmZf2i1dybJJgIyEabeSBOTQyGIV+yu1LJYyBFgEV2j6Q0Rj5zcX+jrUDghxJJfmMgeduZTz/2RiaINmwDrTLtIeGzoBvD3pfSNrItgJlS0tLS8vfC0/fV6YMZW3VamkiS2rOGmI6BmqKmTLS+VSb1PF9YZdrMpdUUwiMXlQPOG5Qj4oCpaQiPkQ2lr5b+iYg4OhYugXFv82CzZhIrSMSbAUYaTNovJd8HsodolYLs1h7K8Kb/fTzBV5Sn2grEaPGpii/zLDfmL7+fnUnuzRVPQcAGDZq4IM7gevWzjPfq70QcpPo1YJu9LkGtiftgpE3k6M+kMtvMvltFt8YcO3tsPKOmGHj0SNSoM57Ib+N3GphTcg0iW5LtVrCbiynkfiuE37Zje+m1AJGSi8oAEL30/iLYXYjASR8Ily3QhUAODaRdkHxG1lwJyGx0pIF28d9edD3GtPXbC9k05A7q1ZKNTBkHsdfDdMvhhSM6zeOou3UWEXBnnDdxqYWhWvW504+cU2ClpaWlpaWZ8yzyCvjVsazKznfHGZfJi9aXplHQp1NDHFUX96pQ5F9dOpH04Sg0OW7m/ogEEcnnf9c4M/DtoFJOX937+CIjk162V+61D6xGEi8TzRYyV60QO6WlpaWln8Ykk5HP+B9e4/+wsJkfx+eZV4ZtjUYbA2ewUA/JZ7xnAFA9MHp6EcbAwAAMTL947mnKdPjiVEm3d8nf2snSFkR/ni7lpaWlpaW581zrYxNEO/59CAyjwQf4eCDSL3nHqn/QQ8gRPoDnQAA/uCnj77qh2T7CUCCyPzRUlD/yKrRf9s4yDzSv2oFHrV0BP/KDplH8qjr/pYVuPcM/FXXPvYYB6M8wh3t8G62tLS0tDwjnqsq01M2sQDgO3n+T5v5lRzZSVuAsNW7dye/vj17d98mP+S9YV4alRd+4BzIm0enrnkkQZP/arM688SZ5rwwLv5eIhzibGof2muxU85+s3tvYtw1l7cm78wfcxSXqe97+ZwMN/W17fkb+UMrgELb+Ed8Ynyqbcee8EGnmL03fmKHmiSf/vOO7j0iS5Cw9dWt6Vv5k/YKAEC8vrxXrT/ldDihzn+2+6hHETtl/svbzfDpitDS0tLScp9ncMDk9aW9suc4ACkDOklYZ2rrTrRFymtT8dlQlN6s2ug/l93pygsPaVO+pOIPB0f55IwI9rpiK/TLDQhnzozLMxXbWoiqulzXEBp2eyndw/zK2EeU3aZuMKtencG8m3ycmiv7RlCMXPTZ0J7ft6rLAdQrm00fkUD45akAyumrc54LKLPk63s1LJHb+vVNFZH409PBPEo+HZgEANCuTMuXCjrqBqqpFlEWzAQ+/qJvXt1VEYs/HfhTEzMwzor4y769vNF0CR910z/3D+eCdjibvzsleRh8PQzntnxn5Mqs80En3FfVz+9Yk3U/6UWfL/hrBgCQmeqdLS158v6K5NXs2hRQRh/3ZX141zrF7NfbUMngxqlkB8vX9zWR6fWBKO8N6E5NylUDssHZoHs9jT5ZJFdqAPBxU13ddRAnn3TNG1vlANg46/7X4FApcs1ru6ZJ47kvVk1yK6ouz+WXQxap6tLIpQ6LJPmqa1/aqQdcTolZ5t0AACAASURBVBiAq9/aalIef9Yxlyb01gJLp0rE2fX0gVQ9x5C3FgKr5j/fJzklqUMlED3pNTjqZ9fT+LMhXntY0XGro3IJCC/5xjKNZ/WKFrcXJObliiGBFTdW4rmZvTohnLIJscuT8lJO9/vJ9Vi9tuco9YLE1zv60kiFNL4+5LSqVwx0Nbndj+9G96Tkpr6y7420XYw/T/WlXcN5/NWCPTOzYe1kmP3bAp6elKsVuIRwV1/babou/HI1ynVxbQqOehOnf8nS71SbW7ClpaXlmfH0rTJZZUyn+1XHUhnuxpQbvtlj3IIOo+9SIB4AwDOiCXEEAMgsTj/uf08sVfxisxk6YqF5eWQjZ5fmvgyZDJI/LpLMqJVG3lqINgSEXl8c6diZbq4XvbgbYgrxJ0u85OHnQxYYAGD7Cc876Sdd7Cu14rM/LvPQ8r3w/q7r+/N6zfjQqtP50U9vaZuzc5MYvVT6ecAisDENRsJemtRD5YO6Ot3wWvKtfnozgdDLr4bJl6fSryOQR3YQNk/Cbxc7HyzKmqCg4ruekMYBQFyxb9eyKersaEA8NS0XrQ9Uc6byBL00JrYP3LF5knzXS/9rNahQna/YtwudO0KtHG2jdCdlkQqur4ciV8dSI7qVgt1ZSb6R+ryW33bjL1Y6X4V4VDmAUkX8cjm7lFMBZB5H32REeFIzijL4y1Iw5bg0s67X+zB2fXDrY7+/3PswVRcU0cxd3CnP2PvZAh9JHkurIaJ0L+ENJX0rP1iVsTKPOFqiWx2a1fLGapCjOjd1odHLOUwixqP0jws4aJozKvp8MRgziK26MDGR08PC9FBsC5Q8+WQIg7xZrH1cN+sNLULIDP9iKd445hJkebgndcbT9wfQnzenjEu1WjC8cnRjJdtgZqXWMcs+X6RoXVA1FyofWr2WOxcKDTjP0uvp34lbe0tLS8t/H55Ftl+7PqtXSit5tC2aC2N1qlRdFMaVFyd6WKOOA22KS1NHRLAXQlLXL1dsLzzaCbltzs9w3ovGoBa8zCkSxvKAU9MMNTfQrOd8FunVmV6oTULCzQA4YaWUU6FfmpiudcCDGqtXRs166SiD3sxIwaKi6aNosDo3t33D73bF/cLLBHxsieJ8lHJe5VfHeqkCFQsFSIEWAReN7lpCCbXoJGGakYaJaeT7c0MDms2bjAU5NBcnemjZfszMQc+EIJr1Wb1eeMphZW/y87FjjhhhV0oTNbrng5FUL+8165WnhM9DiDSpBd/POFE28gSY2ImZub82xJ2aVqdnPgrkPlXnps3Aiv1EFPxwHmguzFSntlKEU1q/st+slZ5yUYE6O9U9L3ZS3rj62rhZUGI7Y/bwOtDVRRXtUcy7AqviykQvVkCEXZwSFbuVfecj6OTNQm07RuzGbm3anNJ8O2a8aXoiGhG21+He1a+MsY6YfnB/l8qkQmpVXCjBEfAUO7VPvckqK3kwZs3l3Wat8kD5LDg8i3PmpUm9ohwHsR8Q4RAYm4UsqFXXc7TNSi3mslmfmWFtJQv2BFDKikDmrLk4NYnxXgYjjokDzfk4IZ15taJQWlrEDF1zdd/XAeOmujQ2kQPgPBcYetIIPpduufBGYj83QjCimrXCDhpapMwBKManMcemvDB3kaVlLGqKndrZWPx3LFDa0tLS8iyRQeCsfSjbLwBEcXw82+8zCMZGnzV6uawGtPfnHgiHDMFTasFLDwjEcOrQhR4so5oC9V562hwvXIA+sEgo1cRzpB594MFR4gEZEkuRe2qYFw4ogqdUER86QEI0A+mQIjhGNfGBA4pgGSEekRLwSAh1qJdLfb6UH64Gxb0xERBDixTBcurQBw4IEM2JRx84QEo8IgWAe5YkoB4ZgmGEeARKwCNQaogPLXhGG/bAXKRDjkRxQp2XCA7AU2AeKIKjVFMMLFI4WA0MDDIAzSl6Lz0gpQ07HtCOwnrpiRLUoQ8dAjleuABlU7414193RSmoIT6wcNDzwWugtOEA3scWHGPN0ZkeEu9DTw1BpIR4HzgAIIYBc2A5cAuWA3XIEZCQhoF0yIBUnDDnOaEWwFEAxMCB5vShxMFROX1nFl5fECUBJMQTDKvyah181eUlP5LTEzy4fQDgKLUUCAJSWjPgzsvDZ4DCwZNADfPSAgFwjBo4uFNUUx9YIACGM018aJEhGE7Be+HBE6I4QcDQguIE8N5DYhg1924EsRSoR08J9egZRe+FP3ge7q2AZdTCvYdECUiL4spUXj8dTn+Sr1RLS0vLPy4vTjA2AWFM4qObGXGUuCNrCztWz5FVh/uop9/LZUKoEveaaQAA9pAHqmEAwOyxnu/3Vh978+g1u/8fqXZDBdsdWR6XmJBGnNDbg6+PwR58wQ4bf6/aMxCqORzcFMePrcBRt6Q+uooc1YumD8/6oIG53wmh9cNnOj7VUFCglCpGANixno+9pqx8WE6C9GC5CAAAY/bBCZqD9hTun2Xdv2WWH5OTkBPT0tRJ71+Ph4ujSwgr0DPKFDuSjev6TG5Df7AO4a0uv9+bOb50RzB7bILVCXeBHt1Wyo59NUh98D459pDAsWfg+G2lx4Y+WoGjB2Oadf49O0G4lpaWlpanw7PIK0PHnWz8XKs/PxriZfzx8vOW4mnBxp10/LyF+HEIm6TJJH34bSujLxefhzwtLS0tLX9PPM9gbB8bFxz8hLfq5anqmUdFSvtOWZ+fmh+LGX5MUOrmwkSnjwgGPkCY5uz0uBMuALpeWZ+fuydX/5Cg654YNe3M2sw+11x0rl9UZ3MnHowPZ06vT9TgJNNHS0tLS0vLi8QzUGUQDxKpUURy7A8QEMATALSnZ5aBWa289CdnYzMMh43pqcNP7/036zMTHqREOxzlIJ/bvVx5D74+bACeksDYxMH9dGdHyfoOiZTJkFq4Jy1FBCCaQbe28v6k/MEQ5tzMPpiZ7QE5CQJBsATw8KojOQGSWmfHxDhcnHuiHl/G4xO5vwKnZza4vwL+e1fBvRGPrwA5XJaDSVmKqfYRHk2KICChzJpHpX5paWlpaWl5YXj6EUzc1G/sFi9P61cnLjM6Blwd1QsgZr787Z6fh7JketXKbzKSGSgESaryasm3ouNKFqG2WVGEAG2wfmdMHczf3GOOFdd21UrhIeRElW/slmcLsAGN55P/50ZxRolR4s+P5pfH5rRiO6G9uDe/NkMvxCQg3HknREXdpa3d/3WrON+Et7uHcUYAABBoy4JwCs1bd+dXyubsxGMU7IckUVjEzLr6ne3iwtQljKEqXt9TKwX6SM7vWWzw1Hj8z3uAUL+zpUkAp8bVmhW7sbu0PfvZfnO69JSRwby4NrIdx0YZru3nV0d62fnl/fxyDUFT/HxE99Mj75Csmr29U68bUfvq9SkFN39tzBzNX99Vpwp0ERd18cZedbYkKryfVwYA1Ns39//Htk5ZsMOaN3aKC1O9CEEO1etb9cslHXVEyTC0pAmoN8U/3Rz/ZltLHm5HzHsTcDl7FkeQLS0tLS0t3+cxI5ie/kYVa5wM+l/g/God34p014jbA1zWRMfJZ94aACBUEwBEAApAZ2n2wcN9uGVFxgIi7xkTewLzJN6rYJ6m3/XhdsefrzRH8dVSAqpaMPR2kv7HukscoDUy6v9h6HqecVNGjgA+mFDYmwFk/7ZOAU5OQ29FdCdTddS96fKXDcD9otPaY9b7Q0e/uYX5SnzXsC9Tc854CA5UD7qfBrp2yzXWMtiLgjIk5+YAhO124jqVE2k7tV0h6R/O+Fc3LDcqkb0/LOg3Jn6UyW6hTyHdjviRi7E3vQYAkHtiAzG2MEvjkYZZmt3ok1sd91KlYx/8ZTmVddWzsHPk6Cq+W+yOle9w7GjYH/Q/FU6Az3InKYDFI+dmwNhgmXb/OITmeG3tlpaWlpaWF5qnr8rMI76+O/lVbSDJVOyG09lZD3XMjCnO5wBgvllJxmT6602+NZCa+l5RvKyS94dHhgVh1KBwLpVYlq9gtO+qd24jZeGsEcblv9gIvl2Jd7B6fW/KeXJ9wQ9nzfkcqkRWoZzvTX43Ii5Ivuj60IAPbNbYVV2+MvNI3XeL8edZ/rORBsF3eg8J7pPGhgEHsKd3Jss8+mxRXdqp1itc1fDpgijm09+NgxurgQKjzPzXu+GXS0dWHSv5GNw45hGVtane2lOZgUUX79u6JxirywWSbvDid7c8Be5NtOMnv7vNdwfJTFpVBV9nJOVMgV0eF2uk+0EXpPPSM2N11zPUxTt3kLBwrLi3+S83wq/XopEr39gpqUw/O+4/6/TZadO1fHOJjQRZ25u8pCHvZLvex4bNE9svmrV5taTAF+l/roSTqjw9I5NusBfYjkImoKWlpaWl5cXmGeSVAbcwK1/OXZP1Pu4cz4nyQiN1s1bQaYqnd6swyj4Z8h+rwoTc1K/u2QPl0ETJZz3mn8NkMazLVycH7spkniXfptQ9sRjInF6bYZmFo1abaWlpaWl5Prw4eWWAzpL4s4hoDn8vegwAaBl+NwBA3yxnBNjDy3gSjgXfDOXBFJHSnybc6snRMvpyeHBcRhwjf5XnLnEsuD34ScVqaWlpaWl5KjwLVYYYzv9eo3oJrcVjRnkRpKx8/l4mxDNWnJjHr6WlpaWl5b8hzzWvzKAxqQYAZE3+z3eLc9XDEdEHCFO9tTH+v27O3hw5+ajUMwCA+vyoPFs/uoVTZ6ontpWE1fyfNqoV9QMDnywN8XhCZURE5h+apu/ls/f23MGbwlSvbU5fyx93FOYfVzChq7c25pfLh1bgEXI+0MRljenpExr18tmbsye2+0Tl7DdbzeCk7MUAIE31xsb0annypz8MdeqV/XrlcWxofz0YquKNXRud/Cj5Xj7/xR3VfaoitLS0tLQc8QysMmiXch17CkC0IKUkUeV1JGagB4ptJgBoLhbywyW/VrkwYMSqBSvvJEdKlhFylvIvQr/SuMRCqtRA01kqtNE9A8LTSRbk0KyUPgaYAyZ1s1JDEwV3A7dSOEpQotxM3LDAJiIAdnlqYkACYrvDiapXGqoYqDDYvX865Mz6zAqQGwPexMmnYBIPgK5b64WGlBG3VqfIFXUc5XbsVudWULGRQLeyiUPP5HZsz+zpLhPbaXA7PpwL+k5RvFaw3UjspLx2+mzpdRjdjoPC6PMTtEG0EcefDvGaAQAkTp+bOUblrS6nul6rALm4m/D75STDJn97j4wTud0J5qDWCwcs2EruV6X2nVL1PGEG6zjaDqOPlporNQCgNHol9yDl3ci9vFd1udyNwpv319ybtdyZQNaoek6OhF5UfCcBYdRy6QMPKgh2IrcwNwkT1gJ4fXpmAyo2I79ckVFCg9owGW4HBE46UqSOby6EpavPl6ShJPBoGAKSyGAZh1tB/PEQrz2sIPleoTJCqKLTDpW17lo2Tjk0quMI92yvKxtXr5YoERBdp9RLipSx3JJ2LUdCPCNyO3JLhRVUbCWMatN1EFkYx3Jy774DdXqlQMd9hHIrsMu5o1TupH5QO2GQ8eBGBv1SdTU6SYTT/bmNvNjpicaq1RqQeCvDrSy9o1Ubw97S0tLyrHgGwdiNHnhibXVaxTczJ5Qw4IaNmEYQGxtbUVEEwSoGhiIAeELV989HVPHehM26yQ6p37uTr1q21+9+nKpLVfB5oFcbOnVOAEjto1Bd3p1dKaBMOmpdsKZ+xYTf9MAD1USv13JX+lDrUyA2qVnWKGsoqLk0JV+dun84hL1i/ssNw0n4ueh+eFhPh7vm8s785YIUnc7Hsb6sTC7YlOjIlK9vmRDk9dW01CZhvEDbsUQzojlVFADh/o7uCdGMNow4QpCShuNq6W4HEJbWdxmt9TQMDi0yuDCb/mLDMxoForNj5u9sos4GexHcV2U8pYaShlMLdq10DAhXzSmR3D7MH2zBXNind4dkbWYmIT+0VrhTuQ0p1VqvU6Yp1Zw29JjSQdzyXEnZgCOC8skQpLVdy3epXS9xFEFHOXRqwfPSqg4RC3OdUd7Y5kIJnZIslCZFtt8Jt3/wuM1TtzZyPqIVJx7cQs1vd/FM4XYCfqK9w4K+vMdu9QJuqrfulouOby10P5f6ZRVcF3qtBm3QER8ZiF1zfju/UMGs2/vXFRJV9TqEX3f9cD5/d9OENPhirfcVU5fGdLsXHCvdBQg0qmdrNP4q9Quz+S+3LGXxJ+uS5RpiwWozFH5JEUVsR7mAFr++qyQE30D3o45bm+kmiW4/18zNLS0tLf+QPH1VBgEAiCOkDsWM12fnumY2pTIVnni3WGjVZwXo1bkXLPYECAB58CiDOhdDcGOBCaOHmm8Put+GrBZMGToLRSHMeuMqCcQTS3ysyTzO/mPAKiZKYmPC5gGpOAVvuPdJoxdCioRNI6FVs6CYBaCEKMryY7W4HQuvr6VjTosQokadKl1IaJ2xSaf77wNaC2YbOxekkbzxrmPD62vpnNAywgXLRjEnlc5sOAppx9i1KerFcHKgnBFaS1YpjJXKrI1m06slK2I6SH1MyC7iogPh9KnCdp1a4Jzw+NN1MaN0FoCj3T+uu6GF45mQtRQFt0Q3V5zcpgAID0aI0SrgJsAGsQMgjR4WpqfIQsAObgtBAMpGAel5e3qf1KeD2cF1RNxNqneaYNv7eY95p6nzw8LUKTRMTGO3PLUxAQBQDKTyIQGgB8Wi+YxVy1TOLdsJgTs9VHQScX3SOSYBMCErBc0FdhriJFGIACit7he269UCk+OQ3FNrvJeeVCEtJK2ZuDvsfRnQSlLX0GkkSmLWGj9n6IEYcLGW46yzs0ArLhRowtiMkVpQ6qLrq2nBaB5jUGEVsoJSzYA6s1STScS899zzccQUJ1zGn66zGWNF4M6UfC9mA6V7lgGAJxSdCyD4ZiXaF6wKCbOoGas4rTl5RIqilpaWlpanxNPP9ms5ocZ2tU4hvpkAIBLC5gG3xDFPHSWNlHNme5aPI15wENZmns3F0ZZM0VMPKINdiZSKsfCZQaTMMVCEOk4V4fsxSIOesiqQWzEmylPCGo6RJxrACV5T1zGkpuA5QySVoIikFnIkbUfZRcW2ukIdjmk4JcZFnmjJvLehp5qQOpJT5hKNhDCkpBC84jSXbBYya13gwQpmEIykFkFLUQgUhkyzcE8ezQUJAe8olZsZzyXf70Q3IwKMlgykJ/MkmDLX1aSmxDM+iilvXIBEBQyszQyUoZwG5FiMN3HgIi9v9oKx8InxNgi2w2PR196cqkBTtt+RJdiOITUDJ8R+CIFCH8iNmBqKkYZJN9o7irsmmtJaBFsJm4SUGRd6aggxklpPVEC9I7NMNM5Fnk0CsZcyph3nwc2E1YzNwmA7ZoUkgK6jaS2pffCYSary6pyWgtSMV4IqwRp0HU8bSvcScXiniOOsFIdqLfrMoCFAKR8HzBCXGPCMIoGGMc+gYXI38pEGw1kZyN0AE42Usob5yBENYIXcC0hgXeCIlhQ8IgAQVkrqwfUUVJICOgnEezBCTENg2gVINKeGUsOIorQOxJz6yNKK83nCS+9iB1Ywi44Rip7WAYnq8uKUjnqi/mm+Uy0tLS3/sDxmtt9nkldmZTy7XIhbC+m30cnOE88PZE3xT9umznr/NaDPIw3MU8WtjOaXSvnNUrwRvkhzQy89MfTQhIR2eVpcmfEbq+mdozzFIFXx5p6OLQDQKko+XxTF8/RSf0yQeORILCOtcaalpaXlb+MFyivDtgaDrRc0SQlxYfb7c89biqcF2xr2t4bPW4rvQ6g+7g5F+E6/t9N/uJUO0j+tP0OpfhoIUvL3mnqgpaWl5UUkiaMgio1zBEAr1dQPG72fZ6AFMo8I1FMA7zILilNNTzQeoLAu8LQWf0Xi2hN6o84nlnz/4OM41LvIEiWOtUEUzgWelfJJf3AjIApPDPveeOhjA0rS51eCGqVxAljNj59bIUEfGbCcnejm0tLS0tLS8kyQUqyvr55fW06jUBt7Z2f/m29vA3lgO32eGxUmxgcOANwgr66NqpeLB2s9HuGzqnp7p15+OLWJ69fuybPBoTTNa3v14g/+dk6r4trIZA/E0vheVb21p6OH27qF+kfS1VD0XY0nLLYzl3abv8Fi9detwHH8oCheHZv0waVlzlzYLc+pv6nrlpaWlpaWv43BcHjp7OryoJtEQb+TXD63dvb0KmMP7HxP3+2XOHV1Z35xps/NTN9YSfzpvaZDWWnLX4xhHIuamLONuN4nmSaFgLTKr+V8Mz6+79OG+QSoAWJs/caUoptfnTIH83e2mjNzD6FobPXWdnGuonlIoiL/1d1q2bAiwsXJ9GcjOzB0LO3l3fnVGapATENmwVshKuqXp6PfbFZLPtyKHoj+CbTzSbRP6te267NVeWkCeSL3IyYMFjEzXl/emV/b9z7ivJq9t1Wv5egjObtn5fJLk+mbE1Lx5s0dTTmujeoukfuBvbCXvzqqzuXeShoV83d3kVA6zmhvMn17xyQUF0fFWU21Ld4dkUnE1eEydIrpu1vNouOVr6/mlJr5K3Pu/ey9zWYt9y4S2pRvbxdnGjYPmTpaPP3K1uSdsUlB7gp9dWd+cWb6ICpfvrVRnVFsL+XzgDBPm4Bqp17bnr01cijkKBCKWsHvz6ilpaWlpeUZI4MgSZPL51bJoRmGUpLXajIvDlxyD9x+n75VJqtt1e9/0kcVx3cTRq24PeTgiI6TL7oUPQCAo8TCwQEHnaad42WxAQDAL5cqK5u1ykvOZ8wXWTyhWKbpt/3s/5wOatTrDbux2PsiNksNOEYLyQDBG7XIe79fkTspR4R5GEwCkMeTzHr1Uk5zyUltMjgBK6KtyOm09599s3asniRpTBr3fn+ODcau6CS3B91/XRfNURQunQUsAPXqxBJkZRh8uRRWiISwcSy2u91PFjlt9Dmb/v6MbDxIVS7T/u/PBNz4KuBRU76ZQ86Zub8M6BgJNlPiAUCynOI8jWbU51n29aDzf04H2uszjbi+3Ps61EsPuEeRhvOcAKU4LG3d63+0FN4NkCDb64rGufioJXYa1TcsZ66jvGh9VltaWlpaXgjIseMkQgj5nq/G0//NXUny8v7kvHKQgEN9dr+8iOijjrXF5Yl31Hy5Fuc4/fUmm3YzS323KF/W8Z8HR9qMMPW5GVbdQMyLV2fhXDe/mPvIhXUmucp/dVvsLyZ3eHV5t+I0vLGAWeEijxYBObOT6W+nxEnwafHWpokCcdMLq8vXRtYL/+VScCdVF3IPnDw62b09tT8dEPndorq4U16c+zWTfdKjJJ/+diL2BtKA5/Xst4XYXBC7h0nhVEhJ5aZdmkhRmuqtvXqpIUs+meh6wAVp8lOY7tP8t3d8qhjqsNTT394mdZbkQdmdius9SARtwC5PyjXS+aBjT49mV3JaR3wa0aTKfzHzkY+KjAd1/quZ3F2Ot3h5bbtkLPpq8Zjszg6UF541QOYSXhpNzljIO2lRz98bsUkmywJW5+WZCnSR/WlJTmXT19STv5sC5i0tLS0t//A8g2Bs9EmjV8q6y3of9sAD3E8idi8UFwgA3nvz6LNjeyk+bCI4vBAOr3g4L9nx3k7MWfZQD/fEODZmXOdXx/zukkhGpUzTbxJqjvd8fGiCB6MQb5fKe54rTsjd++ndvnfhoyfyuPzACnCrl+8VoiIqkGMJeKwBOWm474shXP3qtp8spLfa9LUtLS0tLc+HpNNZWBj+7u2rx9/86vbWN7e39ra24BkGYxNg3hMWf5uCJwSO7aDHdu5jMUHftwd8z5iEJ7wmJzcgJ+sHJ/XwAFWUvb8G1JlTkTT+SIaThyaAB1E/1h+sqKX33v/hUX5UjEfx6BVA6n1sD9USDnCUAfhRi3/Ca8Pjj/7+AqFbWlpaWv4BeRZOnXSexPPkGQz00+OZ2OyKH28HAEA8D757/ulziA6ir3+w+FFLS0tLS8vfCQjgvaf0nmsvIuL3jmqeZzC2z7SNDpxwTf3aXrOoTjZMcNu8tD9/c7t8Kfc/FHiM9tS8WXw4YPsYziw3T+zOKlV5bV/1zdPzg/VpXV6a+QN7CLPq/Kg4+xSS3jPTXNyv1h6xyD8E+ljb1J5wYVqV56sfCUT/PlKVr4509ohcOtw2F/bL9ebkT38Y4s3aTPWfboo6lKY+P3Py5Hn7tCov75v4xA9bWlpaWp4MpdR4flQ/wFpX1c1D2swzsMqgD6znSBDAU+IoMIeeUQOeIVEEAM35OUwjt1j7uaAWvcSDsnz3cJRKwrcS6BubWlGDk54YTr33wgMF0JxZcKH1gXfogDkXOXCU1gxDiwSAAq05Bg4aBgA+1MgAAWgjCHgXOeIIeEYVPXQaQYyNp0ArSS0XU+ESCxOOwnnpwTHivRdAHUGKtOYYGU8JrRkIhwwRCG2Y6+c25XI3oNX9uSAGqj6rxXbIKk4c+sShp6zhJKlcoj0y1lC+G+iXLdwCBPSJQQK0FJR4FzkAQipO7/vkUtdcnJLdjBecWXCRRSCsOUp2h9x6iUAQHGOKie2oOatwIwDqfWgBCK25X5ipJJC7gh2T00cGPaMOnESmiBdIFAHiXWiBAThKG4aB8ZySTokQ+ch4Rg4WnCgOzCGhtKEn16kQymPINbrEgAOgh65SDMEyqqjYDswFC3cffIyE9RyAeGI4UOcFEs0pOCcQCFAlqEMXWQyd8x659aEHy2hDMbIHTkK0YRhaTwhtOAHvBQLzoDk19NjELSIBBrSmPrRIgDYcpEOKSAgrOEjnAusjjxI9054BbQ6GdoAASGkjpc1tBKL62787LS0tLf/QeOeKvPj82zvnVpcWel1t7e5odmdz1z9rVUbq5pWpCYwdumAjhTIQotQkim/I5o0xvT6Id6ULuLgduXOlJ0hi1Zw24efdI/sLUqrRLlbEB9Jh9e7N/HzDNpY6N2j5asX3KOpesuur9QojR7ekemVj9vYMZt3u/16B9d1qzfNJFF/v2vWJysLsz13z0m65ofFDPQAADdVJREFUimxKxN6i4EXZV6Sn4fZy56t7ye+wU07/53cqJMn7L6dfhqwQPgGgvrm2Obs6o+NB+i2tL2o+E6gh3EzLn9/RMY3eXwuCedNHUvHgZg/XZqpDbZLFfzmai08afWZmOmFwsy9z11yemJinfxhSVNXrCj1PPl0QpaDOAAB28/H/umUFS//1QlpU+/9jE03W/39Xg+LwrsVNfXoGPRXeWpBeVeuF5yDvDKKtewdMvlfMfzahswBBZH9epIWkvgYAtzSvzpRgudzo4ErR9EubJemnvfs7evPmhsJENE4PfPbhoL4y4bcG4Qiqd7e94WiD5Faszs0cI8RKmZXVldxTYOPInZ3Q3RQ7lau7vfe7j3ooaCMpN9NfbWIdUCBgqE81qziSIP2PISsF9Q/bbPxgPn8zpxMu7w7spTvFuhbfnco2XHFViV1CymFU6HK5gsSzm1Hz2tbsWk73hr0/LNpL22pI+F4c7rD8lxsqptGH69mOLd6YEy3FjV64fejazKx+ZbvqCj4Nwl3If3NXM55+cJoOJ4pRKiH6r0V/ZqJj6wIhd+v5r27XmY8+O9v5SlTvbVkdip1O/E3Cam4fnnFLS0tLyxOjlUo72cbdrZ3dEeecABpjAcA9WGDy6afIi5UWYXI7tBFL7kQ+MXwUY+LEfkwdAUtYIyDVUDLXtXwe0FqIsST4QASTGzaoGQiktcSuDr5YDrdDsS8xCZIPO37JEkC+25ElcZySUPHvluNbMa8kKwjIMP5LlynGZ9IPDduXxBCqs+hb6foIAYZ/6dOs4Xd69ytj+6xyJE3/MhAzwRriU+0DYA2xAyu/G0Z3Y7ErIGV0Hob73C0ost9Lr3fFLGCWsd1OOBbIqNgNWJMJoxwNeH1wkEeoJZ7KaCN0XYXDojpV4//f3p39xnVceQA+td61F27NxSRD2aJsx8gCCEGCzIv/8LxlgMFgBkHixIkcxLYkSiIl9nrX2mseqIi0rMxMLFESg/OBj+RlVXUDffrcur/KQH5ThsOO/3E7EcrrlDlvJoFPBay1To0GX45FJVkrxHkhFGPz5DJvxkgmvPzbKB70gQf2ZJjVYAoqF8+399COx4lN/jDhoyZUBY3OTRybyThpyXQjnYLboMljTtQocY0LJX+e7ksI8WbPQbC8HiYnOdMEKGErEVOS/G2NxUik9aEs/5y5fUONje1a8ZDrnSBr4jZ8DCR5NBQVB3bREHn5ZGxbCnkuodS0zsVpzgIhkqW/26SbGs4yyuzzFbh8G0SieBiF9E9bwkQ/9Om9rfRpyqciZmnx+8Lv2iijvD8W3gfCIHHy60n2KOOdoBqIz/OvhjDsQ58XX43FMuEt8zlJ760/X6uLmOlAObHODMt7JQz6qIfFvbFYpJxY9nCSKeckjZzk345iYWlHYprkX2zIRcJaSYWjp+v5SUqBxGHvXY4nYyOE0GuKIQQfkiyTUlLKCKWEEOecVs83IVxE5F1/KWM4bC7qO0uT8eJBZrdX/V7nCRPMNIeV2+iDz9JFqH82J1WRzGQcdu3HHT/LLnfxCGcmjRNJfiL0hk/OmTqqfQJUepdokoAte/FsYA5makMHwdKvC3e4tKXnnTAfrkyhTMHSLrSfzUyhXUHIsHGEkWFnBUmmrP7pudkx4sFlKUO0iOOV2unBZpz1zZ2VHfXRFekC9H5lykhz7WkglICh0CcsbdWkjyEhWW2koHltMiYrbm5NLeTZw+zykzyQuFa1+704HTNibM7kOQkDErjWB5WBNJ+y/sdTWyhXgHg8JhszNdGgci7b7qh2UWRP86sHUYWya++s+ION7Izrj2fdCPL7A2ZfLF4wH87VTuvrUVb79rOZLbTLWfoks7ee6TWa3RsxG/Wn5zoW5cMrz13b6MuQPc7JvGRFXR9XbtxHIeKwCjGLGwvfj7hcNR81wVFxOobd8/bA538csehdTPPHKV9mlNvux/PYZvylg5ykVgeGOdevGQIQKQWh3brRkyZWZdpB99nUFspnRCxfPNAezPFCD7XZdPJJzsDpw8ZzQnPjhCeZs7lNTnN1e6qHNlKRniTmcOWywHumjle26J3k2f08btf9dg82pYOm3+ztumJ1wYLvfzINbcq5aY8aN2p9wpKneViv1JYmjoXCBE5iqjwksrft8dInjtZDYVW/18UoOaj2oHPrLaiCe6v3a6gHWMoghNDrC94brVXXXfxopZy93BB5Ucq8hVwZ8Dvz6tMa5uPxF8P3LXstUtX821Mt5Pjfd7h5v8b2+vzObPXzOvliN3+SvEdz41ZvazbLuboocaKbLKu7i+SL/eKxvPw1odufTk3uAYB0aXFvU7Q34GzLmBqzrvl0wP5x6CJCCKE34iJX5m2UMpFEIBEigfj9uOF3LEIEGgEIhO/dB7n53ueVvyJGAKAR4kspwzHSKyl+/4ovEEIIodfx1iLygEQC71kz5gUCBMJ7OrbX9z6v/BWEALzqVSDkX/elQQgh9Ka801yZdWVLAwAxaavPT+rjJpBXh574nfny8wf99svhLiFxP+CTOhRd9fmDdud/vQFQtqtfn/STq3uko9ubLz9/bLLvXTB9VebK1b+kwe42/hWhOLa/+6h/jVy9H7YCV7nD88Wvz2z5nZSUKFx390F1G7d7IIQQet9d/7ZfCPZg0X3Q+q3ODZznJGwuTcqY9uqjli4zZog9rvm9DTIytBEk0f1RT+fJ1SKLNglJCVigKppbHQHfHbQsxubuqVrXMUqhgvpo0W9r1kmQur8z12NPtYRB0xxXofCk4e5g2R20YASvU6Fp8EJ0LA7b5uOFGYJciO/cv0iNd4P8jOqjhd3Uar8lTSrmBWc2NDm30e4tu1tVdCnlqv7lqR5qCAnvnlcrYdS0Rw1R3N5aOsriZu04Fyvhd6v+oNbbPThBueo+WUEk0A6YrJs7Sy8YDGu15ZgO6k4DjWTu78uQ982dhR0GpqPZ7wl1/Qc9i7H+xalZ0+ATrn1/PFdbljWSusuJuN1F+2HjU2Ar7vYX3QetL4HpoG7P9KZjy5QvM0oC0QnTwR6suqMmBs5rKTvmJJert9G3QwghhH6Ai22/19+VKZRJRVIzteWYpbHQtE9goMFzrmmQDiDGyGlPqSMRALSQT9OXhhXHbffBoj9qQkpA2hAkk8aDkMs0eTLgCuxeF1UiW9C7OuRafbhQR3WgVh1ZeZKFDGgE0krmaCivNmO8vjPtbi+6T8/02qsaK4Fy7/utmEyZ/tFl/mwk2uzF5GQY9xc+SFGnyaMBM5c9JRKC21f9T2Z60nhJ2TKDXAcGAMGnUVZJKDt9u2cnJeQahO4OXfqohK3OFtbvNNUvFmagIntRkcQYKV/KkNsoIaY2BEGl8UHIRSofD5iO9qCDJpPK6119dQZ+s+luz9TExXFnCpZUEiBCJKzKmFC2vDLXUrcfT7vbs/qTVfgHUbYIIYTQ++b6v3N7SmRvhQPHWUv17aWzxKecL5ge9SHXEDdFA/3tRWSiCASEdWuOVvKyscC8Pmr41xNZNP1BJ8D2R4u41ovzyDWojdrlSXLCwrryLJJVShxP/7oVZIicEBvcRIPhfr2rfnViCyH/siEa0Pu19Zr6Ia3K4suSAOXNq+7TRMoUB+LsRgCduO2q32lDwul9CcSZSUc8p5ozE81ebVhW/mF4cRVSF5xMgy6Bp3JO3G5v11t/SyY2RCtodGrTyQBuoiKLcWi5C2ari5TKeW4/mvIHZRSCd8QPWz0m2cPUHD9dflaRtuTzHJhRP1r5tT55usYs6M3KpVlySsNIeRHo/GodGMiqLL9MQwpgGeHKlgQUcwfTxa9mZFXkK2WLXu21dByy+5k8HYtHlDQZcbhJBSGE0M1w/aWMSpIn3m50EYC0Mv12GEQEx6km8mQAAFQTVufCa9omxFCQjLbfvUIk/OGQRkGXg0Qw3id04OBZzmpKu3EysOzbgqtIHA2U8kVChGFV5FbwlQRb2IGDyGglh/9xGCgjhlBD+KMhj4Qaxr8ZwpaKQMlLbYgI9uC87/ZSElmVshlL5wkkRH6zBoFRl6RfgSscWxXMAfl2DGVgy5TQEP9+PnX6u+2oBWGEaeKqJO0FeM4US2tKdUgVEQ1xYxOrLdolzAg7NuQsFS0l/7VNKkE4IQHAct4BABHfTNaerpNAaSdINaKlg2c5awl9OILSsWXBdSSWBULFQkQWXsyCtoJbTk8z1lJ5Gn3iwXJ+vj7+zYAaDoYRLtMHHICSNkkfRls6ohkI1x3PfL193e8OhBBC6DW9rVyZ407e38hPshv2ZZ/b/pOZSWj+58n/mXgWuenunpmLYBSTD/97g/l3MN2Yt/Xd2cV2ZboYDf4ypO9iGAghhNB1u66HsWOM5LshJuxsfe3sNZ7SeYecyP60870nll6NOFn852FxvQP6fwyjK4a/feejQAghhK4dISSE8Oa3/WqluBBciDd+ZYQQQgihC5QxyrhW6s13ZbTqszxPs4wUBd7YQAghhNAbFwFCDIwz3ff82ePHb/DSIYQI4J3PyxIbMwghhBC6Js7avuuMUhwIyfL8Ov7B1bMrEUIIIYTeLCGEs5ZzIQbj8bseDEIIIYTQP81a+y7PYEIIIYQQek1YyiCEEELoBsNSBiGEEEI3GJYyCCGEELrBsJRBCCGE0A2GpQxCCCGEbjAsZRBCCCF0g2EpgxBCCKEbDEsZhBBCCN1gWMoghBBC6AbjVuv5+fm7HgZCCCGE0D/Nav0/T1yGn0hOWQoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "width": 500
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "gui.screenshot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulation and Analysis\n",
    "\n",
    "With our fully designed chip now laid out, we can start to focus on tuning the components to hit the circuit parameters we are interested in. These will tend to be;\n",
    "- qubit: frequency, the anharmonicity/alpha, and the coupling strength (as chi, g, or other)\n",
    "- busses: frequency (if resonant), the coupling strength\n",
    "- readout: frequency, coupling strength, coupling to external lines (as kappa, Q_external, or other)\n",
    "\n",
    "### Analysis via capacitance matrix and LOM\n",
    "\n",
    "All of the qubit paramters can initially be tuned via a capacitance matrix and the lumped oscillator method. This analysis is not as accurate as others, but allows for fairly fast and small simulations.\n",
    "\n",
    "We will start by selecting the Analysis class of interest."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit_metal.analyses.quantization import LOManalysis\n",
    "c1 = LOManalysis(design, \"q3d\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see what options are available for the analysis and make any changes we may wish, such as increasing the buffer size for the bounding box when simulation subsections of the chip."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "sim_p = c1.sim.setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'name': 'QubitTune',\n",
       " 'reuse_selected_design': True,\n",
       " 'freq_ghz': 5.0,\n",
       " 'save_fields': False,\n",
       " 'enabled': True,\n",
       " 'max_passes': 15,\n",
       " 'min_passes': 2,\n",
       " 'min_converged_passes': 2,\n",
       " 'percent_error': 0.1,\n",
       " 'percent_refinement': 30,\n",
       " 'auto_increase_solution_order': True,\n",
       " 'solution_order': 'High',\n",
       " 'solver_type': 'Iterative'}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_p.name = 'QubitTune'\n",
    "sim_p.max_passes = 15\n",
    "sim_p.min_converged_passes = 2\n",
    "sim_p.percent_error = 0.1\n",
    "\n",
    "c1.sim.setup"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the design and simulation setup, we render the qubit. For LOM analysis, we want the connection pads to be terminated with opens. We indicate this by stating which unconnected pins should have open terminations.\n",
    "\n",
    "*During the execution of the next cell, make sure to deal with any pop up boxes from Ansys as it opens up (if it was closed)*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO 10:07AM [connect_project]: Connecting to Ansys Desktop API...\n",
      "INFO 10:07AM [load_ansys_project]: \tOpened Ansys App\n",
      "INFO 10:07AM [load_ansys_project]: \tOpened Ansys Desktop v2020.2.0\n",
      "INFO 10:07AM [load_ansys_project]: \tOpened Ansys Project\n",
      "\tFolder:    C:/Ansoft/\n",
      "\tProject:   Project23\n",
      "INFO 10:07AM [connect_design]: No active design found (or error getting active design).\n",
      "INFO 10:07AM [connect]: \t Connected to project \"Project23\". No design detected\n",
      "INFO 10:07AM [connect_design]: \tOpened active design\n",
      "\tDesign:    Qubit1_q3d [Solution type: Q3D]\n",
      "WARNING 10:07AM [connect_setup]: \tNo design setup detected.\n",
      "WARNING 10:07AM [connect_setup]: \tCreating Q3D default setup.\n",
      "INFO 10:07AM [get_setup]: \tOpened setup `Setup`  (<class 'pyEPR.ansys.AnsysQ3DSetup'>)\n",
      "INFO 10:07AM [get_setup]: \tOpened setup `QubitTune`  (<class 'pyEPR.ansys.AnsysQ3DSetup'>)\n",
      "INFO 10:07AM [analyze]: Analyzing setup QubitTune\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpihmmvyj4.txt, C, , QubitTune:LastAdaptive, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 1, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpwtqzabkl.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 1, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpw29pkf6r.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 2, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmp_3iff39l.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 3, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpdcnewiuw.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 4, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpg4xhijml.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 5, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpjyj_jhhn.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 6, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpn_oauu6k.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 7, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpmub93rqq.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 8, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpmciuxb2g.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 9, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmps434g9vw.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 10, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmptwpcvf77.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 11, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpqfysr16x.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 12, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpsk74ngpm.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 13, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmp0pzx9126.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 14, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmpcjbs3_xh.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 15, False\n",
      "INFO 10:09AM [get_matrix]: Exporting matrix data to (C:\\Temp\\tmp88p7cm_q.txt, C, , QubitTune:AdaptivePass, \"Original\", \"ohm\", \"nH\", \"fF\", \"mSie\", 5000000000, Maxwell, 16, False\n"
     ]
    }
   ],
   "source": [
    "c1.sim.run(name=\"Qubit1\", components=['Q1'], open_terminations=[('Q1', 'readout'), ('Q1', 'bus')])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once complete, we can grab the capacitance matrix (next cell) and/or (following cells) call on an LOM analysis of the simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bus_connector_pad_Q1</th>\n",
       "      <th>cl_metal_Q1</th>\n",
       "      <th>ground_main_plane</th>\n",
       "      <th>pad_bot_Q1</th>\n",
       "      <th>pad_top_Q1</th>\n",
       "      <th>readout_connector_pad_Q1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>bus_connector_pad_Q1</th>\n",
       "      <td>50.94746</td>\n",
       "      <td>-0.01089</td>\n",
       "      <td>-34.51380</td>\n",
       "      <td>-13.78934</td>\n",
       "      <td>-1.64509</td>\n",
       "      <td>-0.13815</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cl_metal_Q1</th>\n",
       "      <td>-0.01089</td>\n",
       "      <td>16.45248</td>\n",
       "      <td>-15.95762</td>\n",
       "      <td>-0.22648</td>\n",
       "      <td>-0.13072</td>\n",
       "      <td>-0.05207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ground_main_plane</th>\n",
       "      <td>-34.51380</td>\n",
       "      <td>-15.95762</td>\n",
       "      <td>223.34149</td>\n",
       "      <td>-39.67813</td>\n",
       "      <td>-39.72822</td>\n",
       "      <td>-34.46752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pad_bot_Q1</th>\n",
       "      <td>-13.78934</td>\n",
       "      <td>-0.22648</td>\n",
       "      <td>-39.67813</td>\n",
       "      <td>90.65573</td>\n",
       "      <td>-32.51137</td>\n",
       "      <td>-1.65418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pad_top_Q1</th>\n",
       "      <td>-1.64509</td>\n",
       "      <td>-0.13072</td>\n",
       "      <td>-39.72822</td>\n",
       "      <td>-32.51137</td>\n",
       "      <td>90.63398</td>\n",
       "      <td>-13.78691</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>readout_connector_pad_Q1</th>\n",
       "      <td>-0.13815</td>\n",
       "      <td>-0.05207</td>\n",
       "      <td>-34.46752</td>\n",
       "      <td>-1.65418</td>\n",
       "      <td>-13.78691</td>\n",
       "      <td>50.95160</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          bus_connector_pad_Q1  cl_metal_Q1  \\\n",
       "bus_connector_pad_Q1                  50.94746     -0.01089   \n",
       "cl_metal_Q1                           -0.01089     16.45248   \n",
       "ground_main_plane                    -34.51380    -15.95762   \n",
       "pad_bot_Q1                           -13.78934     -0.22648   \n",
       "pad_top_Q1                            -1.64509     -0.13072   \n",
       "readout_connector_pad_Q1              -0.13815     -0.05207   \n",
       "\n",
       "                          ground_main_plane  pad_bot_Q1  pad_top_Q1  \\\n",
       "bus_connector_pad_Q1              -34.51380   -13.78934    -1.64509   \n",
       "cl_metal_Q1                       -15.95762    -0.22648    -0.13072   \n",
       "ground_main_plane                 223.34149   -39.67813   -39.72822   \n",
       "pad_bot_Q1                        -39.67813    90.65573   -32.51137   \n",
       "pad_top_Q1                        -39.72822   -32.51137    90.63398   \n",
       "readout_connector_pad_Q1          -34.46752    -1.65418   -13.78691   \n",
       "\n",
       "                          readout_connector_pad_Q1  \n",
       "bus_connector_pad_Q1                      -0.13815  \n",
       "cl_metal_Q1                               -0.05207  \n",
       "ground_main_plane                        -34.46752  \n",
       "pad_bot_Q1                                -1.65418  \n",
       "pad_top_Q1                               -13.78691  \n",
       "readout_connector_pad_Q1                  50.95160  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c1.sim.capacitance_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[3, 4] [5 0 1]\n",
      "Predicted Values\n",
      "\n",
      "Transmon Properties\n",
      "f_Q 5.061570 [GHz]\n",
      "EC 311.563069 [MHz]\n",
      "EJ 11.671114 [GHz]\n",
      "alpha -368.270728 [MHz]\n",
      "dispersion 122.011358 [KHz]\n",
      "Lq 13.994355 [nH]\n",
      "Cq 62.171130 [fF]\n",
      "T1 146.353071 [us]\n",
      "\n",
      "**Coupling Properties**\n",
      "\n",
      "tCqbus1 -6.070356 [fF]\n",
      "gbus1_in_MHz -91.032968 [MHz]\n",
      "χ_bus1 -1.408342 [MHz]\n",
      "1/T1bus1 1087.472253 [Hz]\n",
      "T1bus1 146.353107 [us]\n",
      "\n",
      "tCqbus2 6.068136 [fF]\n",
      "gbus2_in_MHz 1.305996 [MHz]\n",
      "χ_bus2 -0.000106 [MHz]\n",
      "1/T1bus2 0.000267 [Hz]\n",
      "T1bus2 597183178.606260 [us]\n",
      "\n",
      "tCqbus3 0.047788 [fF]\n",
      "gbus3_in_MHz 0.010286 [MHz]\n",
      "χ_bus3 -0.000000 [MHz]\n",
      "1/T1bus3 0.000000 [Hz]\n",
      "T1bus3 9627859915854.152344 [us]\n",
      "Bus-Bus Couplings\n",
      "gbus1_2 0.100231 [MHz]\n",
      "gbus1_3 0.004458 [MHz]\n",
      "gbus2_3 0.000039 [MHz]\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fQ</th>\n",
       "      <th>EC</th>\n",
       "      <th>EJ</th>\n",
       "      <th>alpha</th>\n",
       "      <th>dispersion</th>\n",
       "      <th>gbus</th>\n",
       "      <th>chi_in_MHz</th>\n",
       "      <th>χr MHz</th>\n",
       "      <th>gr MHz</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.433205</td>\n",
       "      <td>363.111929</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-437.282573</td>\n",
       "      <td>412.984875</td>\n",
       "      <td>[-83.73617714546809, 1.1128526337938494, 0.021...</td>\n",
       "      <td>[-1.994068841431115, -7.989263976338063e-05, -...</td>\n",
       "      <td>1.994069</td>\n",
       "      <td>83.736177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5.359559</td>\n",
       "      <td>352.526273</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-422.910894</td>\n",
       "      <td>328.817583</td>\n",
       "      <td>[-85.55836719637072, 1.2075255039009807, 0.011...</td>\n",
       "      <td>[-1.8712048806620007, -9.333269933033329e-05, ...</td>\n",
       "      <td>1.871205</td>\n",
       "      <td>85.558367</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5.289608</td>\n",
       "      <td>342.642825</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-409.587339</td>\n",
       "      <td>263.228965</td>\n",
       "      <td>[-86.58355838924892, 1.2287794333424544, 0.009...</td>\n",
       "      <td>[-1.7356985051848983, -9.594339235372308e-05, ...</td>\n",
       "      <td>1.735699</td>\n",
       "      <td>86.583558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.225892</td>\n",
       "      <td>333.78405</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-397.721712</td>\n",
       "      <td>213.807793</td>\n",
       "      <td>[-86.0689723014061, 1.2277846691044672, 0.0100...</td>\n",
       "      <td>[-1.5700613626258655, -9.516083595729247e-05, ...</td>\n",
       "      <td>1.570061</td>\n",
       "      <td>86.068972</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5.181793</td>\n",
       "      <td>327.732575</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-389.657353</td>\n",
       "      <td>184.582809</td>\n",
       "      <td>[-86.93865718651006, 1.2380032996345856, 0.010...</td>\n",
       "      <td>[-1.5083189493249503, -9.63170258686212e-05, -...</td>\n",
       "      <td>1.508319</td>\n",
       "      <td>86.938657</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5.143493</td>\n",
       "      <td>322.529414</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-382.749903</td>\n",
       "      <td>162.123297</td>\n",
       "      <td>[-87.53699141755507, 1.2635437523017465, 0.010...</td>\n",
       "      <td>[-1.4520753068740948, -9.994380459904714e-05, ...</td>\n",
       "      <td>1.452075</td>\n",
       "      <td>87.536991</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5.122549</td>\n",
       "      <td>319.704668</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-379.010078</td>\n",
       "      <td>150.892951</td>\n",
       "      <td>[-88.90295086829036, 1.2722707773971214, 0.010...</td>\n",
       "      <td>[-1.4563031695757316, -0.00010111569119596609,...</td>\n",
       "      <td>1.456303</td>\n",
       "      <td>88.902951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5.103385</td>\n",
       "      <td>317.132734</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-375.611156</td>\n",
       "      <td>141.225627</td>\n",
       "      <td>[-89.0288019265413, 1.2787672658122802, 0.0100...</td>\n",
       "      <td>[-1.4235997603008703, -0.00010195477935975125,...</td>\n",
       "      <td>1.423600</td>\n",
       "      <td>89.028802</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5.092977</td>\n",
       "      <td>315.741024</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-373.774404</td>\n",
       "      <td>136.208482</td>\n",
       "      <td>[-89.58507857804825, 1.2841634593028393, 0.010...</td>\n",
       "      <td>[-1.421663253364802, -0.00010271006641627329, ...</td>\n",
       "      <td>1.421663</td>\n",
       "      <td>89.585079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>5.084037</td>\n",
       "      <td>314.548466</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-372.201855</td>\n",
       "      <td>132.025608</td>\n",
       "      <td>[-89.75013779296071, 1.2893744190101681, 0.010...</td>\n",
       "      <td>[-1.4101109966641798, -0.00010345292930883918,...</td>\n",
       "      <td>1.410111</td>\n",
       "      <td>89.750138</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>5.078996</td>\n",
       "      <td>313.877183</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-371.317232</td>\n",
       "      <td>129.717505</td>\n",
       "      <td>[-90.3167187695716, 1.295820610268069, 0.01029...</td>\n",
       "      <td>[-1.4184853890828102, -0.00010443741877410954,...</td>\n",
       "      <td>1.418485</td>\n",
       "      <td>90.316719</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>5.072608</td>\n",
       "      <td>313.027676</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-370.198317</td>\n",
       "      <td>126.843837</td>\n",
       "      <td>[-90.53023682621938, 1.2988231682250144, 0.010...</td>\n",
       "      <td>[-1.413230425615815, -0.00010485521159682165, ...</td>\n",
       "      <td>1.413230</td>\n",
       "      <td>90.530237</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>5.068138</td>\n",
       "      <td>312.434126</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-369.41691</td>\n",
       "      <td>124.866964</td>\n",
       "      <td>[-90.71509224226395, 1.3013751515724767, 0.010...</td>\n",
       "      <td>[-1.4106702883237312, -0.00010522084928401761,...</td>\n",
       "      <td>1.410670</td>\n",
       "      <td>90.715092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>5.065364</td>\n",
       "      <td>312.066053</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-368.932498</td>\n",
       "      <td>123.653727</td>\n",
       "      <td>[-90.92467056390035, 1.3048977251333183, 0.010...</td>\n",
       "      <td>[-1.4120265412685657, -0.00010576206087240421,...</td>\n",
       "      <td>1.412027</td>\n",
       "      <td>90.924671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>5.06157</td>\n",
       "      <td>311.563069</td>\n",
       "      <td>11.671114</td>\n",
       "      <td>-368.270728</td>\n",
       "      <td>122.011358</td>\n",
       "      <td>[-91.03296800373701, 1.305996499030395, 0.0102...</td>\n",
       "      <td>[-1.4083417525016215, -0.00010590030281529206,...</td>\n",
       "      <td>1.408342</td>\n",
       "      <td>91.032968</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          fQ          EC         EJ       alpha  dispersion  \\\n",
       "1   5.433205  363.111929  11.671114 -437.282573  412.984875   \n",
       "2   5.359559  352.526273  11.671114 -422.910894  328.817583   \n",
       "3   5.289608  342.642825  11.671114 -409.587339  263.228965   \n",
       "4   5.225892   333.78405  11.671114 -397.721712  213.807793   \n",
       "5   5.181793  327.732575  11.671114 -389.657353  184.582809   \n",
       "6   5.143493  322.529414  11.671114 -382.749903  162.123297   \n",
       "7   5.122549  319.704668  11.671114 -379.010078  150.892951   \n",
       "8   5.103385  317.132734  11.671114 -375.611156  141.225627   \n",
       "9   5.092977  315.741024  11.671114 -373.774404  136.208482   \n",
       "10  5.084037  314.548466  11.671114 -372.201855  132.025608   \n",
       "11  5.078996  313.877183  11.671114 -371.317232  129.717505   \n",
       "12  5.072608  313.027676  11.671114 -370.198317  126.843837   \n",
       "13  5.068138  312.434126  11.671114  -369.41691  124.866964   \n",
       "14  5.065364  312.066053  11.671114 -368.932498  123.653727   \n",
       "15   5.06157  311.563069  11.671114 -368.270728  122.011358   \n",
       "\n",
       "                                                 gbus  \\\n",
       "1   [-83.73617714546809, 1.1128526337938494, 0.021...   \n",
       "2   [-85.55836719637072, 1.2075255039009807, 0.011...   \n",
       "3   [-86.58355838924892, 1.2287794333424544, 0.009...   \n",
       "4   [-86.0689723014061, 1.2277846691044672, 0.0100...   \n",
       "5   [-86.93865718651006, 1.2380032996345856, 0.010...   \n",
       "6   [-87.53699141755507, 1.2635437523017465, 0.010...   \n",
       "7   [-88.90295086829036, 1.2722707773971214, 0.010...   \n",
       "8   [-89.0288019265413, 1.2787672658122802, 0.0100...   \n",
       "9   [-89.58507857804825, 1.2841634593028393, 0.010...   \n",
       "10  [-89.75013779296071, 1.2893744190101681, 0.010...   \n",
       "11  [-90.3167187695716, 1.295820610268069, 0.01029...   \n",
       "12  [-90.53023682621938, 1.2988231682250144, 0.010...   \n",
       "13  [-90.71509224226395, 1.3013751515724767, 0.010...   \n",
       "14  [-90.92467056390035, 1.3048977251333183, 0.010...   \n",
       "15  [-91.03296800373701, 1.305996499030395, 0.0102...   \n",
       "\n",
       "                                           chi_in_MHz    χr MHz     gr MHz  \n",
       "1   [-1.994068841431115, -7.989263976338063e-05, -...  1.994069  83.736177  \n",
       "2   [-1.8712048806620007, -9.333269933033329e-05, ...  1.871205  85.558367  \n",
       "3   [-1.7356985051848983, -9.594339235372308e-05, ...  1.735699  86.583558  \n",
       "4   [-1.5700613626258655, -9.516083595729247e-05, ...  1.570061  86.068972  \n",
       "5   [-1.5083189493249503, -9.63170258686212e-05, -...  1.508319  86.938657  \n",
       "6   [-1.4520753068740948, -9.994380459904714e-05, ...  1.452075  87.536991  \n",
       "7   [-1.4563031695757316, -0.00010111569119596609,...  1.456303  88.902951  \n",
       "8   [-1.4235997603008703, -0.00010195477935975125,...  1.423600  89.028802  \n",
       "9   [-1.421663253364802, -0.00010271006641627329, ...  1.421663  89.585079  \n",
       "10  [-1.4101109966641798, -0.00010345292930883918,...  1.410111  89.750138  \n",
       "11  [-1.4184853890828102, -0.00010443741877410954,...  1.418485  90.316719  \n",
       "12  [-1.413230425615815, -0.00010485521159682165, ...  1.413230  90.530237  \n",
       "13  [-1.4106702883237312, -0.00010522084928401761,...  1.410670  90.715092  \n",
       "14  [-1.4120265412685657, -0.00010576206087240421,...  1.412027  90.924671  \n",
       "15  [-1.4083417525016215, -0.00010590030281529206,...  1.408342  91.032968  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c1.setup.junctions = Dict({'Lj': 14, 'Cj': 2})\n",
    "c1.setup.freq_readout = 7.0\n",
    "c1.setup.freq_bus = [0.1, 0.1]  # list of the bus frequencies\n",
    "\n",
    "c1.run_lom()\n",
    "c1.lumped_oscillator_all"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can finally observe how the main quantum parameters have converged after the previous simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO 10:09AM [hfss_report_full_convergence]: Creating report for variation 0\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Design \"Qubit1_q3d\" info:\n",
      "\t# eigenmodes    0\n",
      "\t# variations    1\n"
     ]
    }
   ],
   "source": [
    "c1.plot_convergence();\n",
    "c1.plot_convergence_chi()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that it is possible for a (physically) converged simulation, to not have quite converged in the quantum realm.\n",
    "\n",
    "Looking at the convergence plots from the previous cell, we can see that we did not have enough passes for the simulation. In this case, we want to modify our simulation setup, 'QubitTune', to improve our convergence (increase number of passes, or changing some other parameters)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once we will know that simulation has converged, we can use those results to make appropriate changes to our qubit layout. Say our anharmonicity/alpha is higher than we want? Since we know Ec~ 1/C, we can change parts of the transmon pocket to lower the total capacitance seen across the junction.\n",
    "If g to the bus is too low, we can increase the width of the connection pad so that the capacitance between the connection pad and charge island is greater.\n",
    "\n",
    "One must also keep in mind that any such changes will impact the other parameters, so careful tweaks and iterations of simulation/analysis often end up being necessary.\n",
    "\n",
    "If wanting to make changes and re-render your design, you first should clear your current design."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "c1.sim.renderer.clean_active_design()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When done with all the simulations, you can disconnect from Ansys EDT."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "c1.sim.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Analysis via eigenmode and EPR"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, although the previous simulation and analysis captured all of the parameters of the qubits and coupling to the bus, a more accurate (all be it slower) approach is to render the qubits and their coupling into an eigenmode simulation and perform EPR analysis on the result.\n",
    "\n",
    "We again start by selecting the Analysis class of interest."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit_metal.analyses.quantization import EPRanalysis\n",
    "eig_qb = EPRanalysis(design, \"hfss\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Review and update the simulation setup by executing following two cells."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "em_p = eig_qb.sim.setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'name': 'QubitTune',\n",
       " 'reuse_selected_design': True,\n",
       " 'min_freq_ghz': 3,\n",
       " 'n_modes': 2,\n",
       " 'max_delta_f': 0.1,\n",
       " 'max_passes': 12,\n",
       " 'min_passes': 1,\n",
       " 'min_converged': 2,\n",
       " 'pct_refinement': 30,\n",
       " 'basis_order': 1,\n",
       " 'vars': {'Lj1': '14 nH', 'Cj1': '0 fF', 'Lj2': '12 nH', 'Cj2': '0 fF'}}"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "em_p.name = 'QubitTune'\n",
    "em_p.min_freq_ghz = 3\n",
    "em_p.n_modes = 2\n",
    "em_p.max_passes = 12\n",
    "em_p.max_delta_f = 0.1\n",
    "em_p.min_converged = 2\n",
    "# Design variables can also be added in for direct simulation sweeps.\n",
    "em_p.vars = Dict({'Lj1': '14 nH', 'Cj1': '0 fF', 'Lj2': '12 nH', 'Cj2': '0 fF'})\n",
    "\n",
    "eig_qb.sim.setup"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can now run the simulation on the specified layout."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO 10:10AM [connect_project]: Connecting to Ansys Desktop API...\n",
      "INFO 10:10AM [load_ansys_project]: \tOpened Ansys App\n",
      "INFO 10:10AM [load_ansys_project]: \tOpened Ansys Desktop v2020.2.0\n",
      "INFO 10:10AM [load_ansys_project]: \tOpened Ansys Project\n",
      "\tFolder:    C:/Ansoft/\n",
      "\tProject:   Project23\n",
      "INFO 10:10AM [connect_design]: \tOpened active design\n",
      "\tDesign:    Qubit1_q3d [Solution type: Q3D]\n",
      "INFO 10:10AM [get_setup]: \tOpened setup `Setup`  (<class 'pyEPR.ansys.AnsysQ3DSetup'>)\n",
      "INFO 10:10AM [connect]: \tConnected to project \"Project23\" and design \"Qubit1_q3d\" 😀 \n",
      "\n",
      "INFO 10:10AM [connect_design]: \tOpened active design\n",
      "\tDesign:    Q1_Q2_Bus_hfss [Solution type: Eigenmode]\n",
      "WARNING 10:10AM [connect_setup]: \tNo design setup detected.\n",
      "WARNING 10:10AM [connect_setup]: \tCreating eigenmode default setup.\n",
      "INFO 10:10AM [get_setup]: \tOpened setup `Setup`  (<class 'pyEPR.ansys.HfssEMSetup'>)\n",
      "INFO 10:10AM [get_setup]: \tOpened setup `QubitTune`  (<class 'pyEPR.ansys.HfssEMSetup'>)\n",
      "INFO 10:10AM [analyze]: Analyzing setup QubitTune\n",
      "10:13AM 30s INFO [get_f_convergence]: Saved convergences to C:\\workspace\\qiskit-metal\\docs\\circuit-examples\\full-design-flow-examples\\hfss_eig_f_convergence.csv\n"
     ]
    }
   ],
   "source": [
    "eig_qb.sim.run(name=\"Q1_Q2_Bus\", components=['Bus_Q1_Q2', 'Q1', 'Q2'], open_terminations=[])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once completed, we can check the convergence to see if more passes might be necessary."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "eig_qb.sim.plot_convergences()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This eigenmode simulation is also a quick method to check for any bus or readout resonator frequencies. \n",
    "If happy with the simulation, we can then jump to some EPR analysis.\n",
    "\n",
    "At first we need to define the junctions in terms of name, inductance_variable, capacitance_variable, rectancle that was defined in the rendering to represent the junction `port` and line that was defined in the rendering to represent the direction of the current thorugh the junction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'junctions': {'jj1': {'Lj_variable': 'Lj1',\n",
       "   'Cj_variable': 'Cj1',\n",
       "   'rect': 'JJ_rect_Lj_Q1_rect_jj',\n",
       "   'line': 'JJ_Lj_Q1_rect_jj_'},\n",
       "  'jj2': {'Lj_variable': 'Lj2',\n",
       "   'Cj_variable': 'Cj2',\n",
       "   'rect': 'JJ_rect_Lj_Q2_rect_jj',\n",
       "   'line': 'JJ_Lj_Q2_rect_jj_'}},\n",
       " 'dissipatives': {'dielectrics_bulk': ['main']},\n",
       " 'cos_trunc': 8,\n",
       " 'fock_trunc': 7,\n",
       " 'sweep_variable': 'Lj1'}"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eig_qb.del_junction()\n",
    "eig_qb.add_junction('jj1', 'Lj1', 'Cj1', rect='JJ_rect_Lj_Q1_rect_jj', line='JJ_Lj_Q1_rect_jj_')\n",
    "eig_qb.add_junction('jj2', 'Lj2', 'Cj2', rect='JJ_rect_Lj_Q2_rect_jj', line='JJ_Lj_Q2_rect_jj_')\n",
    "eig_qb.setup.sweep_variable = 'Lj1'\n",
    "eig_qb.setup"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note in the previous cell output that the dissipatives have alrady been defined by default.\n",
    "\n",
    "Now we can start looking at the EPR values. First we look at the electric field and subtrate participation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Design \"Q1_Q2_Bus_hfss\" info:\n",
      "\t# eigenmodes    2\n",
      "\t# variations    1\n",
      "Design \"Q1_Q2_Bus_hfss\" info:\n",
      "\t# eigenmodes    2\n",
      "\t# variations    1\n",
      "\n",
      "        energy_elec_all       = 8.21441028255477e-25\n",
      "        energy_elec_substrate = 7.56817871884e-25\n",
      "        EPR of substrate = 92.1%\n",
      "\n",
      "        energy_mag    = 3.16335953678474e-27\n",
      "        energy_mag % of energy_elec_all  = 0.4%\n",
      "        \n",
      "\n",
      "Variation 0  [1/1]\n",
      "\n",
      "  \u001b[1mMode 0 at 5.35 GHz   [1/2]\u001b[0m\n",
      "    Calculating ℰ_magnetic,ℰ_electric\n",
      "       (ℰ_E-ℰ_H)/ℰ_E       ℰ_E       ℰ_H\n",
      "               99.6%  4.107e-25 1.582e-27\n",
      "\n",
      "    Calculating junction energy participation ration (EPR)\n",
      "\tmethod=`line_voltage`. First estimates:\n",
      "\tjunction        EPR p_0j   sign s_0j    (p_capacitive)\n",
      "\t\tEnergy fraction (Lj over Lj&Cj)= 96.93%\n",
      "\tjj1             0.995427  (+)        0.0315155\n",
      "\t\tEnergy fraction (Lj over Lj&Cj)= 97.36%\n",
      "\tjj2             3.30364e-05  (+)        8.96519e-07\n",
      "\t\t(U_tot_cap-U_tot_ind)/mean=1.59%\n",
      "Calculating Qdielectric_main for mode 0 (0/1)\n",
      "p_dielectric_main_0 = 0.9213295243984593\n",
      "\n",
      "  \u001b[1mMode 1 at 5.78 GHz   [2/2]\u001b[0m\n",
      "    Calculating ℰ_magnetic,ℰ_electric\n",
      "       (ℰ_E-ℰ_H)/ℰ_E       ℰ_E       ℰ_H\n",
      "               99.6%  7.231e-25  3.25e-27\n",
      "\n",
      "    Calculating junction energy participation ration (EPR)\n",
      "\tmethod=`line_voltage`. First estimates:\n",
      "\tjunction        EPR p_1j   sign s_1j    (p_capacitive)\n",
      "\t\tEnergy fraction (Lj over Lj&Cj)= 96.43%\n",
      "\tjj1             3.38351e-05  (+)        1.25157e-06\n",
      "\t\tEnergy fraction (Lj over Lj&Cj)= 96.93%\n",
      "\tjj2             0.994201  (+)        0.0315222\n",
      "\t\t(U_tot_cap-U_tot_ind)/mean=1.62%\n",
      "Calculating Qdielectric_main for mode 1 (1/1)\n",
      "p_dielectric_main_1 = 0.9213896904120465\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING 10:13AM [__init__]: <p>Error: <class 'IndexError'></p>\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "ANALYSIS DONE. Data saved to:\n",
      "\n",
      "C:\\data-pyEPR\\Project23\\Q1_Q2_Bus_hfss\\2021-07-20 10-13-32.npz\n",
      "\n",
      "\n",
      "\t Differences in variations:\n",
      "\n",
      "\n",
      "\n",
      " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n",
      "Variation 0\n",
      "\n",
      "Starting the diagonalization\n",
      "Finished the diagonalization\n",
      "Pm_norm=\n",
      "modes\n",
      "0    1.032291\n",
      "1    1.032911\n",
      "dtype: float64\n",
      "\n",
      "Pm_norm idx =\n",
      "     jj1    jj2\n",
      "0   True  False\n",
      "1  False   True\n",
      "*** P (participation matrix, not normlz.)\n",
      "        jj1       jj2\n",
      "0  0.965013  0.000032\n",
      "1  0.000033  0.963818\n",
      "\n",
      "*** S (sign-bit matrix)\n",
      "   s_jj1  s_jj2\n",
      "0      1      1\n",
      "1      1      1\n",
      "*** P (participation matrix, normalized.)\n",
      "         1  3.2e-05\n",
      "   3.3e-05        1\n",
      "\n",
      "*** Chi matrix O1 PT (MHz)\n",
      "    Diag is anharmonicity, off diag is full cross-Kerr.\n",
      "       304   0.0398\n",
      "    0.0398      304\n",
      "\n",
      "*** Chi matrix ND (MHz) \n",
      "       345    0.696\n",
      "     0.696      341\n",
      "\n",
      "*** Frequencies O1 PT (MHz)\n",
      "0    5047.467672\n",
      "1    5480.401018\n",
      "dtype: float64\n",
      "\n",
      "*** Frequencies ND (MHz)\n",
      "0    5027.574497\n",
      "1    5462.263203\n",
      "dtype: float64\n",
      "\n",
      "*** Q_coupling\n",
      "Empty DataFrame\n",
      "Columns: []\n",
      "Index: [0, 1]\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "#### Mode frequencies (MHz)"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "###### Numerical diagonalization"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Lj1</th>\n",
       "      <th>14</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eigenmode</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5047.47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5480.40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Lj1             14\n",
       "eigenmode         \n",
       "0          5047.47\n",
       "1          5480.40"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "#### Kerr Non-linear coefficient table (MHz)"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "###### Numerical diagonalization"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lj1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">14</th>\n",
       "      <th>0</th>\n",
       "      <td>344.93</td>\n",
       "      <td>0.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.70</td>\n",
       "      <td>341.29</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0       1\n",
       "Lj1                  \n",
       "14  0  344.93    0.70\n",
       "    1    0.70  341.29"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "eig_qb.run_epr()\n",
    "# (pyEPR allows to switch modes: eprd.set_mode(1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "From the analysis results we can determine the qubits anharmonicities and coupling strength."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Other analysis is still being added, such as the impedance analysis, though some already be done manually by renderering to a driven modal simulation and performing frequency sweeps to extract the S-Parameters or Impedance matrix. This would be an easy way to, say, determine the external quality factor of a readout resonator. *See tutorial notebooks 4.3*\n",
    "\n",
    "Once the analysis and tuning is complete, we can disconnect from the renderer."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "eig_qb.sim.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Rendering to a GDS File"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once all of the tuning is complete, we will want to prepare a GDS file so we can create a mask and fabricate our chip. We first create a gds render instance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "qhk21_gds = design.renderers.gds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The various options for the gds renderer can be checked and changed as necessary. A key option is the gds file which holds the cells for your junction ebeam design. Make sure this is pointing at the correct file so they are placed in your final mask at the appropriate locations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'short_segments_to_not_fillet': 'True',\n",
       " 'check_short_segments_by_scaling_fillet': '2.0',\n",
       " 'gds_unit': 0.001,\n",
       " 'ground_plane': 'True',\n",
       " 'negative_mask': {'main': []},\n",
       " 'corners': 'circular bend',\n",
       " 'tolerance': '0.00001',\n",
       " 'precision': '0.000000001',\n",
       " 'width_LineString': '10um',\n",
       " 'path_filename': '../resources/Fake_Junctions.GDS',\n",
       " 'junction_pad_overlap': '5um',\n",
       " 'max_points': '199',\n",
       " 'cheese': {'datatype': '100',\n",
       "  'shape': '0',\n",
       "  'cheese_0_x': '25um',\n",
       "  'cheese_0_y': '25um',\n",
       "  'cheese_1_radius': '100um',\n",
       "  'view_in_file': {'main': {1: True}},\n",
       "  'delta_x': '100um',\n",
       "  'delta_y': '100um',\n",
       "  'edge_nocheese': '200um'},\n",
       " 'no_cheese': {'datatype': '99',\n",
       "  'buffer': '25um',\n",
       "  'cap_style': '2',\n",
       "  'join_style': '2',\n",
       "  'view_in_file': {'main': {1: True}}},\n",
       " 'bounding_box_scale_x': '1.2',\n",
       " 'bounding_box_scale_y': '1.2'}"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qhk21_gds.options"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "qhk21_gds.options['path_filename'] = '../resources/Fake_Junctions.GDS'\n",
    "qhk21_gds.options['no_cheese']['buffer']='50um'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qhk21_gds.export_to_gds('QHK21_Tutorial.gds')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(optional) Now that the design is finished, we can close the GUI."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "# gui.main_window.close()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
